@tamagui/static 1.0.1-beta.43 → 1.0.1-beta.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/createExtractor.ts"],
4
4
  "sourcesContent": ["import { relative } from 'path'\n\nimport traverse, { NodePath, Visitor } from '@babel/traverse'\nimport * as t from '@babel/types'\nimport {\n PseudoStyles,\n StaticConfigParsed,\n TamaguiInternalConfig,\n getSplitStyles,\n mediaQueryConfig,\n normalizeStyleObject,\n proxyThemeVariables,\n pseudos,\n rnw,\n stylePropsTransform,\n} from '@tamagui/core-node'\nimport { difference, pick } from 'lodash'\nimport type { ViewStyle } from 'react-native'\n\nimport { FAILED_EVAL } from '../constants'\nimport {\n ExtractedAttr,\n ExtractedAttrAttr,\n ExtractedAttrStyle,\n ExtractorParseProps,\n Ternary,\n} from '../types'\nimport { createEvaluator, createSafeEvaluator } from './createEvaluator'\nimport { evaluateAstNode } from './evaluateAstNode'\nimport { attrStr, findComponentName, isInsideTamagui, isPresent, objToStr } from './extractHelpers'\nimport { findTopmostFunction } from './findTopmostFunction'\nimport { getStaticBindingsForScope } from './getStaticBindingsForScope'\nimport { literalToAst } from './literalToAst'\nimport { loadTamagui } from './loadTamagui'\nimport { logLines } from './logLines'\nimport { normalizeTernaries } from './normalizeTernaries'\nimport { removeUnusedHooks } from './removeUnusedHooks'\nimport { timer } from './timer'\nimport { validHTMLAttributes } from './validHTMLAttributes'\n\nconst UNTOUCHED_PROPS = {\n key: true,\n style: true,\n className: true,\n}\n\nconst INLINE_EXTRACTABLE = {\n ref: 'ref',\n key: 'key',\n onPress: 'onClick',\n onHoverIn: 'onMouseEnter',\n onHoverOut: 'onMouseLeave',\n onPressIn: 'onMouseDown',\n onPressOut: 'onMouseUp',\n}\n\nconst isAttr = (x: ExtractedAttr): x is ExtractedAttrAttr => x.type === 'attr'\n\nconst validHooks = {\n useMedia: true,\n useTheme: true,\n}\n\nexport type Extractor = ReturnType<typeof createExtractor>\n\nconst createTernary = (x: Ternary) => x\n\nexport function createExtractor() {\n if (!process.env.TAMAGUI_TARGET) {\n console.log('\u26A0\uFE0F Please set process.env.TAMAGUI_TARGET to either \"web\" or \"native\"')\n process.exit(1)\n }\n\n const shouldAddDebugProp =\n // really basic disable this for next.js because it messes with ssr\n !process.env.npm_package_dependencies_next &&\n process.env.TAMAGUI_TARGET !== 'native' &&\n process.env.IDENTIFY_TAGS !== 'false' &&\n (process.env.NODE_ENV === 'development' || process.env.DEBUG || process.env.IDENTIFY_TAGS)\n\n let loadedTamaguiConfig: TamaguiInternalConfig\n let hasLogged = false\n\n return {\n getTamagui() {\n return loadedTamaguiConfig\n },\n parse: (\n fileOrPath: NodePath<t.Program> | t.File,\n {\n config = 'tamagui.config.ts',\n importsWhitelist = ['constants.js'],\n evaluateVars = true,\n shouldPrintDebug = false,\n sourcePath = '',\n onExtractTag,\n getFlattenedNode,\n disable,\n disableExtraction,\n disableExtractInlineMedia,\n disableExtractVariables,\n disableDebugAttr,\n prefixLogs,\n excludeProps,\n ...props\n }: ExtractorParseProps\n ) => {\n if (disable) {\n return null\n }\n if (sourcePath === '') {\n throw new Error(`Must provide a source file name`)\n }\n if (!Array.isArray(props.components)) {\n throw new Error(`Must provide components array with list of Tamagui component modules`)\n }\n\n const ogDebug = shouldPrintDebug\n const tm = timer()\n\n // we require it after parse because we need to set some global/env stuff before importing\n // otherwise we'd import `rnw` and cause it to evaluate react-native-web which causes errors\n const { components, tamaguiConfig } = loadTamagui({\n config,\n components: props.components || ['tamagui'],\n })\n\n if (shouldPrintDebug === 'verbose') {\n console.log('tamagui.config.ts:', { components, config })\n }\n\n tm.mark('load-tamagui', shouldPrintDebug === 'verbose')\n\n loadedTamaguiConfig = tamaguiConfig as any\n\n const defaultTheme = proxyThemeVariables(\n tamaguiConfig.themes[Object.keys(tamaguiConfig.themes)[0]]\n )\n\n const body = fileOrPath.type === 'Program' ? fileOrPath.get('body') : fileOrPath.program.body\n\n /**\n * Step 1: Determine if importing any statically extractable components\n */\n const isInternalImport = (importStr: string) => {\n return isInsideTamagui(sourcePath) && importStr[0] === '.'\n }\n\n const validComponents: { [key: string]: any } = Object.keys(components)\n // check if uppercase to avoid hitting media query proxy before init\n .filter((key) => key[0].toUpperCase() === key[0] && !!components[key]?.staticConfig)\n .reduce((obj, name) => {\n obj[name] = components[name]\n return obj\n }, {})\n\n if (shouldPrintDebug === 'verbose') {\n console.log('validComponents', Object.keys(validComponents))\n }\n\n let doesUseValidImport = false\n let hasImportedTheme = false\n\n for (const bodyPath of body) {\n if (bodyPath.type !== 'ImportDeclaration') continue\n const node = ('node' in bodyPath ? bodyPath.node : bodyPath) as any\n const from = node.source.value\n const isValidImport = props.components.includes(from) || isInternalImport(from)\n if (isValidImport) {\n const isValidComponent = node.specifiers.some((specifier) => {\n const name = specifier.local.name\n return !!(validComponents[name] || validHooks[name])\n })\n if (shouldPrintDebug === 'verbose') {\n console.log('import from', from, { isValidComponent })\n }\n if (isValidComponent) {\n doesUseValidImport = true\n break\n }\n }\n }\n\n if (shouldPrintDebug) {\n console.log(sourcePath, { doesUseValidImport })\n }\n\n if (!doesUseValidImport) {\n return null\n }\n\n tm.mark('import-check', shouldPrintDebug === 'verbose')\n\n let couldntParse = false\n const modifiedComponents = new Set<NodePath<any>>()\n\n // only keeping a cache around per-file, reset it if it changes\n const bindingCache: Record<string, string | null> = {}\n\n const callTraverse = (a: Visitor<{}>) => {\n return fileOrPath.type === 'File' ? traverse(fileOrPath, a) : fileOrPath.traverse(a)\n }\n\n /**\n * Step 2: Statically extract from JSX < /> nodes\n */\n let programPath: NodePath<t.Program>\n\n const res = {\n flattened: 0,\n optimized: 0,\n modified: 0,\n found: 0,\n }\n\n callTraverse({\n Program: {\n enter(path) {\n programPath = path\n },\n },\n JSXElement(traversePath) {\n tm.mark('jsx-element', shouldPrintDebug === 'verbose')\n\n const node = traversePath.node.openingElement\n const ogAttributes = node.attributes\n const componentName = findComponentName(traversePath.scope)\n const closingElement = traversePath.node.closingElement\n\n // skip non-identifier opening elements (member expressions, etc.)\n if (t.isJSXMemberExpression(closingElement?.name) || !t.isJSXIdentifier(node.name)) {\n return\n }\n\n // validate its a proper import from tamagui (or internally inside tamagui)\n const binding = traversePath.scope.getBinding(node.name.name)\n\n if (binding) {\n if (!t.isImportDeclaration(binding.path.parent)) {\n return\n }\n const source = binding.path.parent.source\n if (!props.components.includes(source.value) && !isInternalImport(source.value)) {\n return\n }\n if (!validComponents[binding.identifier.name]) {\n return\n }\n }\n\n const component = validComponents[node.name.name] as { staticConfig?: StaticConfigParsed }\n if (!component || !component.staticConfig) {\n return\n }\n\n const originalNodeName = node.name.name\n\n // found a valid tag\n res.found++\n\n const filePath = `./${relative(process.cwd(), sourcePath)}`\n const lineNumbers = node.loc\n ? node.loc.start.line +\n (node.loc.start.line !== node.loc.end.line ? `-${node.loc.end.line}` : '')\n : ''\n const tagId = [componentName, `${node.name.name}`, `${filePath}:${lineNumbers}`].filter(\n Boolean\n )\n\n // debug just one\n const debugPropValue = node.attributes\n .filter<t.JSXAttribute>(\n // @ts-ignore\n (n) => t.isJSXAttribute(n) && t.isJSXIdentifier(n.name) && n.name.name === 'debug'\n )\n .map((n) => {\n if (n.value === null) return true\n if (t.isStringLiteral(n.value)) return n.value.value as 'verbose'\n return false\n })[0]\n\n if (debugPropValue) {\n shouldPrintDebug = debugPropValue\n }\n\n try {\n node.attributes.find(\n (n) =>\n t.isJSXAttribute(n) &&\n t.isJSXIdentifier(n.name) &&\n n.name.name === 'debug' &&\n n.value === null\n )\n\n if (shouldPrintDebug) {\n console.log('\\n')\n console.log('\\x1b[33m%s\\x1b[0m', `${tagId[0]} | ${tagId[2]} -------------------`)\n console.log('\\x1b[1m', '\\x1b[32m', `<${originalNodeName} />`)\n }\n\n // add data-is\n if (shouldAddDebugProp && !disableDebugAttr) {\n res.modified++\n node.attributes.unshift(\n t.jsxAttribute(t.jsxIdentifier('data-is'), t.stringLiteral(tagId.join(' ')))\n )\n }\n\n const shouldLog = !hasLogged\n if (shouldLog) {\n const prefix = ' |'\n console.log(\n prefixLogs || prefix,\n ' total \u00B7 optimized \u00B7 flattened '\n )\n hasLogged = true\n }\n if (disableExtraction) {\n return\n }\n\n const { staticConfig } = component\n const isTextView = staticConfig.isText || false\n const validStyles = staticConfig?.validStyles ?? {}\n\n function isValidStyleKey(name: string) {\n return !!(\n !!validStyles[name] ||\n !!pseudos[name] ||\n staticConfig.variants?.[name] ||\n tamaguiConfig.shorthands[name] ||\n (name[0] === '$' ? !!mediaQueryConfig[name.slice(1)] : false)\n )\n }\n\n // find tag=\"a\" tag=\"main\" etc dom indicators\n let tagName = staticConfig.defaultProps?.tag ?? (isTextView ? 'span' : 'div')\n traversePath\n .get('openingElement')\n .get('attributes')\n .forEach((path) => {\n const attr = path.node\n if (t.isJSXSpreadAttribute(attr)) return\n if (attr.name.name !== 'tag') return\n const val = attr.value\n if (!t.isStringLiteral(val)) return\n tagName = val.value\n })\n\n const flatNode = getFlattenedNode({ isTextView, tag: tagName })\n\n const inlineProps = new Set([\n ...(props.inlineProps || []),\n ...(staticConfig.inlineProps || []),\n ])\n const deoptProps = new Set([\n // always de-opt animation\n 'animation',\n ...(props.deoptProps || []),\n ...(staticConfig.deoptProps || []),\n ])\n\n // Generate scope object at this level\n const staticNamespace = getStaticBindingsForScope(\n traversePath.scope,\n importsWhitelist,\n sourcePath,\n bindingCache,\n shouldPrintDebug\n )\n\n const attemptEval = !evaluateVars\n ? evaluateAstNode\n : createEvaluator({\n // @ts-ignore\n tamaguiConfig,\n staticNamespace,\n sourcePath,\n traversePath,\n shouldPrintDebug,\n })\n const attemptEvalSafe = createSafeEvaluator(attemptEval)\n\n if (shouldPrintDebug) {\n console.log(' staticNamespace', Object.keys(staticNamespace).join(', '))\n }\n\n //\n // SPREADS SETUP\n //\n\n // TODO restore\n // const hasDeopt = (obj: Object) => {\n // return Object.keys(obj).some(isDeoptedProp)\n // }\n\n // flatten any easily evaluatable spreads\n const flattenedAttrs: (t.JSXAttribute | t.JSXSpreadAttribute)[] = []\n traversePath\n .get('openingElement')\n .get('attributes')\n .forEach((path) => {\n const attr = path.node\n if (!t.isJSXSpreadAttribute(attr)) {\n flattenedAttrs.push(attr)\n return\n }\n let arg: any\n try {\n arg = attemptEval(attr.argument)\n } catch (e: any) {\n if (shouldPrintDebug) {\n console.log(' couldnt parse spread', e.message)\n }\n flattenedAttrs.push(attr)\n return\n }\n if (arg !== undefined) {\n try {\n if (typeof arg !== 'object' || arg == null) {\n if (shouldPrintDebug) {\n console.log(' non object or null arg', arg)\n }\n flattenedAttrs.push(attr)\n } else {\n for (const k in arg) {\n const value = arg[k]\n // this is a null prop:\n if (!value && typeof value === 'object') {\n console.log('shouldnt we handle this?', k, value, arg)\n continue\n }\n flattenedAttrs.push(\n t.jsxAttribute(\n t.jsxIdentifier(k),\n t.jsxExpressionContainer(literalToAst(value))\n )\n )\n }\n }\n } catch (err) {\n console.warn('cant parse spread, caught err', err)\n couldntParse = true\n }\n }\n })\n\n if (couldntParse) {\n return\n }\n\n tm.mark('jsx-element-flattened', shouldPrintDebug === 'verbose')\n\n // set flattened\n node.attributes = flattenedAttrs\n\n // add in NON-STYLE default props\n if (staticConfig.defaultProps) {\n for (const key in staticConfig.defaultProps) {\n if (isValidStyleKey(key)) {\n continue\n }\n const serialize = require('babel-literal-to-ast')\n const val = staticConfig.defaultProps[key]\n try {\n const serializedDefaultProp = serialize(val)\n node.attributes.unshift(\n t.jsxAttribute(\n t.jsxIdentifier(key),\n typeof val === 'string'\n ? t.stringLiteral(val)\n : t.jsxExpressionContainer(serializedDefaultProp)\n )\n )\n } catch (err) {\n console.warn(\n `\u26A0\uFE0F Error evaluating default prop for component ${node.name.name}, prop ${key}\\n error: ${err}\\n value:`,\n val,\n '\\n defaultProps:',\n staticConfig.defaultProps\n )\n }\n }\n }\n\n let attrs: ExtractedAttr[] = []\n let shouldDeopt = false\n const inlined = new Map<string, any>()\n let hasSetOptimized = false\n\n // RUN first pass\n\n // normalize all conditionals so we can evaluate away easier later\n // at the same time lets normalize shorthand media queries into spreads:\n // that way we can parse them with the same logic later on\n //\n // {...media.sm && { color: x ? 'red' : 'blue' }}\n // => {...media.sm && x && { color: 'red' }}\n // => {...media.sm && !x && { color: 'blue' }}\n //\n // $sm={{ color: 'red' }}\n // => {...media.sm && { color: 'red' }}\n //\n // $sm={{ color: x ? 'red' : 'blue' }}\n // => {...media.sm && x && { color: 'red' }}\n // => {...media.sm && !x && { color: 'blue' }}\n\n attrs = traversePath\n .get('openingElement')\n .get('attributes')\n .flatMap((path) => {\n try {\n const res = evaluateAttribute(path)\n tm.mark('jsx-element-evaluate-attr', shouldPrintDebug === 'verbose')\n if (!res) {\n path.remove()\n }\n return res\n } catch (err: any) {\n if (shouldPrintDebug) {\n console.log('Error extracting attribute', err.message, err.stack)\n console.log('node', path.node)\n }\n return {\n type: 'attr',\n value: path.node,\n } as const\n }\n })\n .flat(4)\n .filter(isPresent)\n\n if (shouldPrintDebug) {\n console.log(' - attrs (before):\\n', logLines(attrs.map(attrStr).join(', ')))\n }\n\n // START function evaluateAttribute\n function evaluateAttribute(\n path: NodePath<t.JSXAttribute | t.JSXSpreadAttribute>\n ): ExtractedAttr | ExtractedAttr[] | null {\n const attribute = path.node\n const attr: ExtractedAttr = { type: 'attr', value: attribute }\n // ...spreads\n if (t.isJSXSpreadAttribute(attribute)) {\n const arg = attribute.argument\n const conditional = t.isConditionalExpression(arg)\n ? // <YStack {...isSmall ? { color: 'red } : { color: 'blue }}\n ([arg.test, arg.consequent, arg.alternate] as const)\n : t.isLogicalExpression(arg) && arg.operator === '&&'\n ? // <YStack {...isSmall && { color: 'red }}\n ([arg.left, arg.right, null] as const)\n : null\n\n if (conditional) {\n const [test, alt, cons] = conditional\n if (!test) throw new Error(`no test`)\n if ([alt, cons].some((side) => side && !isExtractable(side))) {\n if (shouldPrintDebug) {\n console.log('not extractable', alt, cons)\n }\n return attr\n }\n // split into individual ternaries per object property\n return [\n ...(createTernariesFromObjectProperties(test, alt) || []),\n ...((cons &&\n createTernariesFromObjectProperties(t.unaryExpression('!', test), cons)) ||\n []),\n ].map((ternary) => ({\n type: 'ternary',\n value: ternary,\n }))\n }\n }\n // END ...spreads\n\n // directly keep these\n // couldn't evaluate spread, undefined name, or name is not string\n if (\n t.isJSXSpreadAttribute(attribute) ||\n !attribute.name ||\n typeof attribute.name.name !== 'string'\n ) {\n if (shouldPrintDebug) {\n console.log(' ! inlining, spread attr')\n }\n inlined.set(`${Math.random()}`, 'spread')\n return attr\n }\n\n const name = attribute.name.name\n\n if (excludeProps?.has(name)) {\n if (shouldPrintDebug) {\n console.log(' excluding prop', name)\n }\n return null\n }\n\n if (inlineProps.has(name)) {\n inlined.set(name, name)\n if (shouldPrintDebug) {\n console.log(' ! inlining, inline prop', name)\n }\n return attr\n }\n\n // can still optimize the object... see hoverStyle on native\n if (deoptProps.has(name)) {\n shouldDeopt = true\n inlined.set(name, name)\n if (shouldPrintDebug) {\n console.log(' ! inlining, deopted prop', name)\n }\n return attr\n }\n\n // pass className, key, and style props through untouched\n if (UNTOUCHED_PROPS[name]) {\n return attr\n }\n\n if (INLINE_EXTRACTABLE[name]) {\n inlined.set(name, INLINE_EXTRACTABLE[name])\n return attr\n }\n\n if (name.startsWith('data-')) {\n return attr\n }\n\n // shorthand media queries\n if (name[0] === '$' && t.isJSXExpressionContainer(attribute?.value)) {\n // allow disabling this extraction\n if (disableExtractInlineMedia) {\n return attr\n }\n\n const shortname = name.slice(1)\n if (mediaQueryConfig[shortname]) {\n const expression = attribute.value.expression\n if (!t.isJSXEmptyExpression(expression)) {\n const ternaries = createTernariesFromObjectProperties(\n t.stringLiteral(shortname),\n expression,\n {\n inlineMediaQuery: shortname,\n }\n )\n if (ternaries) {\n return ternaries.map((value) => ({\n type: 'ternary',\n value,\n }))\n }\n }\n }\n }\n\n const [value, valuePath] = (() => {\n if (t.isJSXExpressionContainer(attribute?.value)) {\n return [attribute.value.expression!, path.get('value')!] as const\n } else {\n return [attribute.value!, path.get('value')!] as const\n }\n })()\n\n const remove = () => {\n Array.isArray(valuePath) ? valuePath.map((p) => p.remove()) : valuePath.remove()\n }\n\n if (name === 'ref') {\n if (shouldPrintDebug) {\n console.log(' ! inlining, ref', name)\n }\n inlined.set('ref', 'ref')\n return attr\n }\n\n if (name === 'tag') {\n return {\n type: 'attr',\n value: path.node,\n }\n }\n\n // native shouldn't extract variables\n if (disableExtractVariables) {\n if (value) {\n if (value.type === 'StringLiteral' && value.value[0] === '$') {\n if (shouldPrintDebug) {\n console.log(` ! inlining, native disable extract: ${name} =`, value.value)\n }\n inlined.set(name, true)\n return attr\n }\n }\n }\n\n if (name === 'theme') {\n inlined.set('theme', attr.value)\n return attr\n }\n\n // if value can be evaluated, extract it and filter it out\n const styleValue = attemptEvalSafe(value)\n\n // never flatten if a prop isn't a valid static attribute\n // only post prop-mapping\n if (!isValidStyleKey(name)) {\n let keys = [name]\n let out: any = null\n if (staticConfig.propMapper) {\n // for now passing empty props {}, a bit odd, need to at least document\n // for now we don't expose custom components so just noting behavior\n out = staticConfig.propMapper(\n name,\n styleValue,\n defaultTheme,\n staticConfig.defaultProps,\n { resolveVariablesAs: 'auto' }\n )\n if (out) {\n // translate to DOM-compat\n out = rnw.createDOMProps(isTextView ? 'span' : 'div', out)\n // remove className - we dont use rnw styling\n delete out.className\n\n keys = Object.keys(out)\n }\n }\n\n let didInline = false\n const attributes = keys.map((key) => {\n const val = out[key]\n if (isValidStyleKey(key)) {\n return {\n type: 'style',\n value: { [name]: styleValue },\n name,\n attr: path.node,\n } as const\n }\n if (validHTMLAttributes[key]) {\n return attr\n }\n if (shouldPrintDebug) {\n console.log(' ! inlining, non-static', key)\n }\n didInline = true\n inlined.set(key, val)\n return val\n })\n\n // weird logic whats going on here\n if (didInline) {\n if (shouldPrintDebug) {\n console.log(' bailing flattening due to attributes', attributes)\n }\n // bail\n return attr\n }\n\n // return evaluated attributes\n return attributes\n }\n\n // FAILED = dynamic or ternary, keep going\n if (styleValue !== FAILED_EVAL) {\n if (isValidStyleKey(name)) {\n if (shouldPrintDebug) {\n console.log(` style: ${name} =`, styleValue)\n }\n if (!(name in staticConfig.defaultProps)) {\n if (!hasSetOptimized) {\n res.optimized++\n hasSetOptimized = true\n }\n }\n return {\n type: 'style',\n value: { [name]: styleValue },\n name,\n attr: path.node,\n }\n } else {\n inlined.set(name, true)\n return attr\n }\n }\n\n // ternaries!\n\n // binary ternary, we can eventually make this smarter but step 1\n // basically for the common use case of:\n // opacity={(conditional ? 0 : 1) * scale}\n if (t.isBinaryExpression(value)) {\n if (shouldPrintDebug) {\n console.log(` binary expression ${name} = `, value)\n }\n const { operator, left, right } = value\n // if one side is a ternary, and the other side is evaluatable, we can maybe extract\n const lVal = attemptEvalSafe(left)\n const rVal = attemptEvalSafe(right)\n if (shouldPrintDebug) {\n console.log(` evalBinaryExpression lVal ${String(lVal)}, rVal ${String(rVal)}`)\n }\n if (lVal !== FAILED_EVAL && t.isConditionalExpression(right)) {\n const ternary = addBinaryConditional(operator, left, right)\n if (ternary) return ternary\n }\n if (rVal !== FAILED_EVAL && t.isConditionalExpression(left)) {\n const ternary = addBinaryConditional(operator, right, left)\n if (ternary) return ternary\n }\n if (shouldPrintDebug) {\n console.log(` evalBinaryExpression cant extract`)\n }\n inlined.set(name, true)\n return attr\n }\n\n const staticConditional = getStaticConditional(value)\n if (staticConditional) {\n if (shouldPrintDebug === 'verbose') {\n console.log(` static conditional ${name}`, value)\n }\n return { type: 'ternary', value: staticConditional }\n }\n\n const staticLogical = getStaticLogical(value)\n if (staticLogical) {\n if (shouldPrintDebug === 'verbose') {\n console.log(` static ternary ${name} = `, value)\n }\n return { type: 'ternary', value: staticLogical }\n }\n\n // if we've made it this far, the prop stays inline\n inlined.set(name, true)\n if (shouldPrintDebug) {\n console.log(` ! inline no match ${name}`, value)\n }\n\n //\n // RETURN ATTR\n //\n return attr\n\n // attr helpers:\n function addBinaryConditional(\n operator: any,\n staticExpr: any,\n cond: t.ConditionalExpression\n ): ExtractedAttr | null {\n if (getStaticConditional(cond)) {\n const alt = attemptEval(t.binaryExpression(operator, staticExpr, cond.alternate))\n const cons = attemptEval(\n t.binaryExpression(operator, staticExpr, cond.consequent)\n )\n if (shouldPrintDebug) {\n console.log(' binaryConditional', cond.test, cons, alt)\n }\n return {\n type: 'ternary',\n value: {\n test: cond.test,\n remove,\n alternate: { [name]: alt },\n consequent: { [name]: cons },\n },\n }\n }\n return null\n }\n\n function getStaticConditional(value: t.Node): Ternary | null {\n if (t.isConditionalExpression(value)) {\n try {\n const aVal = attemptEval(value.alternate)\n const cVal = attemptEval(value.consequent)\n if (shouldPrintDebug) {\n const type = value.test.type\n console.log(' static ternary', type, cVal, aVal)\n }\n return {\n test: value.test,\n remove,\n consequent: { [name]: cVal },\n alternate: { [name]: aVal },\n }\n } catch (err: any) {\n if (shouldPrintDebug) {\n console.log(' cant eval ternary', err.message)\n }\n }\n }\n return null\n }\n\n function getStaticLogical(value: t.Node): Ternary | null {\n if (t.isLogicalExpression(value)) {\n if (value.operator === '&&') {\n try {\n const val = attemptEval(value.right)\n if (shouldPrintDebug) {\n console.log(' staticLogical', value.left, name, val)\n }\n return {\n test: value.left,\n remove,\n consequent: { [name]: val },\n alternate: null,\n }\n } catch (err) {\n if (shouldPrintDebug) {\n console.log(' cant static eval logical', err)\n }\n }\n }\n }\n return null\n }\n } // END function evaluateAttribute\n\n function isExtractable(obj: t.Node): obj is t.ObjectExpression {\n return (\n t.isObjectExpression(obj) &&\n obj.properties.every((prop) => {\n if (!t.isObjectProperty(prop)) {\n console.log('not object prop', prop)\n return false\n }\n const propName = prop.key['name']\n if (!isValidStyleKey(propName) && propName !== 'tag') {\n if (shouldPrintDebug) {\n console.log(' not a valid style prop!', propName)\n }\n return false\n }\n return true\n })\n )\n }\n\n // side = {\n // color: 'red',\n // background: x ? 'red' : 'green',\n // $gtSm: { color: 'green' }\n // }\n // => Ternary<test, { color: 'red' }, null>\n // => Ternary<test && x, { background: 'red' }, null>\n // => Ternary<test && !x, { background: 'green' }, null>\n // => Ternary<test && '$gtSm', { color: 'green' }, null>\n function createTernariesFromObjectProperties(\n test: t.Expression,\n side: t.Expression | null,\n ternaryPartial: Partial<Ternary> = {}\n ): null | Ternary[] {\n if (!side) {\n return null\n }\n if (!isExtractable(side)) {\n throw new Error('not extractable')\n }\n return side.properties.flatMap((property) => {\n if (!t.isObjectProperty(property)) {\n throw new Error('expected object property')\n }\n // handle media queries inside spread/conditional objects\n if (t.isIdentifier(property.key)) {\n const key = property.key.name\n const mediaQueryKey = key.slice(1)\n const isMediaQuery = key[0] === '$' && mediaQueryConfig[mediaQueryKey]\n if (isMediaQuery) {\n if (t.isExpression(property.value)) {\n const ternaries = createTernariesFromObjectProperties(\n t.stringLiteral(mediaQueryKey),\n property.value,\n {\n inlineMediaQuery: mediaQueryKey,\n }\n )\n if (ternaries) {\n return ternaries.map((value) => ({\n ...ternaryPartial,\n ...value,\n // ensure media query test stays on left side (see getMediaQueryTernary)\n test: t.logicalExpression('&&', value.test, test),\n }))\n } else {\n console.log('\u26A0\uFE0F no ternaries?', property)\n }\n } else {\n console.log('\u26A0\uFE0F not expression', property)\n }\n }\n }\n // this could be a recurse here if we want to get fancy\n if (t.isConditionalExpression(property.value)) {\n // merge up into the parent conditional, split into two\n const [truthy, falsy] = [\n t.objectExpression([t.objectProperty(property.key, property.value.consequent)]),\n t.objectExpression([t.objectProperty(property.key, property.value.alternate)]),\n ].map((x) => attemptEval(x))\n return [\n createTernary({\n remove() {},\n ...ternaryPartial,\n test: t.logicalExpression('&&', test, property.value.test),\n consequent: truthy,\n alternate: null,\n }),\n createTernary({\n ...ternaryPartial,\n test: t.logicalExpression(\n '&&',\n test,\n t.unaryExpression('!', property.value.test)\n ),\n consequent: falsy,\n alternate: null,\n remove() {},\n }),\n ]\n }\n const obj = t.objectExpression([t.objectProperty(property.key, property.value)])\n const consequent = attemptEval(obj)\n return createTernary({\n remove() {},\n ...ternaryPartial,\n test,\n consequent,\n alternate: null,\n })\n })\n }\n\n // now update to new values\n node.attributes = attrs.filter(isAttr).map((x) => x.value)\n\n if (couldntParse || shouldDeopt) {\n if (shouldPrintDebug) {\n console.log(` avoid optimizing:`, { couldntParse, shouldDeopt })\n }\n node.attributes = ogAttributes\n return\n }\n\n // before deopt, can still optimize\n const parentFn = findTopmostFunction(traversePath)\n if (parentFn) {\n modifiedComponents.add(parentFn)\n }\n\n // combine ternaries\n let ternaries: Ternary[] = []\n attrs = attrs\n .reduce<(ExtractedAttr | ExtractedAttr[])[]>((out, cur) => {\n const next = attrs[attrs.indexOf(cur) + 1]\n if (cur.type === 'ternary') {\n ternaries.push(cur.value)\n }\n if ((!next || next.type !== 'ternary') && ternaries.length) {\n // finish, process\n const normalized = normalizeTernaries(ternaries).map(\n ({ alternate, consequent, ...rest }) => {\n return {\n type: 'ternary' as const,\n value: {\n ...rest,\n alternate: alternate || null,\n consequent: consequent || null,\n },\n }\n }\n )\n try {\n return [...out, ...normalized]\n } finally {\n if (shouldPrintDebug) {\n console.log(\n ` normalizeTernaries (${ternaries.length} => ${normalized.length})`\n )\n }\n ternaries = []\n }\n }\n if (cur.type === 'ternary') {\n return out\n }\n out.push(cur)\n return out\n }, [])\n .flat()\n\n // flatten logic!\n // fairly simple check to see if all children are text\n const hasSpread = node.attributes.some((x) => t.isJSXSpreadAttribute(x))\n\n const hasOnlyStringChildren =\n !hasSpread &&\n (node.selfClosing ||\n (traversePath.node.children &&\n traversePath.node.children.every((x) => x.type === 'JSXText')))\n\n let themeVal = inlined.get('theme')\n inlined.delete('theme')\n const allOtherPropsExtractable = [...inlined].every(([k, v]) => INLINE_EXTRACTABLE[k])\n const shouldWrapThme = allOtherPropsExtractable && !!themeVal\n const canFlattenProps = inlined.size === 0 || shouldWrapThme || allOtherPropsExtractable\n\n let shouldFlatten =\n !shouldDeopt &&\n canFlattenProps &&\n !hasSpread &&\n staticConfig.neverFlatten !== true &&\n (staticConfig.neverFlatten === 'jsx' ? hasOnlyStringChildren : true)\n\n if (shouldPrintDebug) {\n // prettier-ignore\n console.log(' - flatten?', objToStr({ hasSpread, shouldDeopt, shouldFlatten, canFlattenProps, shouldWrapThme, allOtherPropsExtractable, hasOnlyStringChildren }))\n }\n\n // wrap theme around children on flatten\n if (shouldFlatten && shouldWrapThme) {\n if (shouldPrintDebug) {\n console.log(' - wrapping theme', allOtherPropsExtractable, themeVal)\n }\n\n // remove theme attribute from flattened node\n attrs = attrs.filter((x) =>\n x.type === 'attr' && t.isJSXAttribute(x.value) && x.value.name.name === 'theme'\n ? false\n : true\n )\n\n // add import\n if (!hasImportedTheme) {\n hasImportedTheme = true\n programPath.node.body.push(\n t.importDeclaration(\n [t.importSpecifier(t.identifier('_TamaguiTheme'), t.identifier('Theme'))],\n t.stringLiteral('@tamagui/core')\n )\n )\n }\n\n traversePath.replaceWith(\n t.jsxElement(\n t.jsxOpeningElement(t.jsxIdentifier('_TamaguiTheme'), [\n t.jsxAttribute(t.jsxIdentifier('name'), themeVal.value),\n ]),\n t.jsxClosingElement(t.jsxIdentifier('_TamaguiTheme')),\n [traversePath.node]\n )\n )\n }\n\n // only if we flatten, ensure the default styles are there\n if (shouldFlatten && staticConfig.defaultProps) {\n const defaultStyleAttrs = Object.keys(staticConfig.defaultProps).flatMap((key) => {\n if (!isValidStyleKey(key)) {\n return []\n }\n const value = staticConfig.defaultProps[key]\n const name = tamaguiConfig.shorthands[key] || key\n if (value === undefined) {\n console.warn(\n `\u26A0\uFE0F Error evaluating default style for component, prop ${key} ${value}`\n )\n shouldDeopt = true\n return\n }\n const attr: ExtractedAttrStyle = {\n type: 'style',\n name,\n value: { [name]: value },\n }\n return attr\n }) as ExtractedAttr[]\n\n if (defaultStyleAttrs.length) {\n attrs = [...defaultStyleAttrs, ...attrs]\n }\n }\n\n if (shouldDeopt) {\n node.attributes = ogAttributes\n return\n }\n\n // insert overrides - this inserts null props for things that are set in classNames\n // only when not flattening, so the downstream component can skip applying those styles\n const ensureOverridden = {}\n if (!shouldFlatten) {\n for (const cur of attrs) {\n if (cur.type === 'style') {\n // TODO need to loop over initial props not just style props\n for (const key in cur.value) {\n const shouldEnsureOverridden = !!staticConfig.ensureOverriddenProp?.[key]\n const isSetInAttrsAlready = attrs.some(\n (x) =>\n x.type === 'attr' &&\n x.value.type === 'JSXAttribute' &&\n x.value.name.name === key\n )\n\n if (!isSetInAttrsAlready) {\n const isVariant = !!staticConfig.variants?.[cur.name || '']\n if (isVariant || shouldEnsureOverridden) {\n ensureOverridden[key] = true\n }\n }\n }\n }\n }\n }\n\n if (shouldPrintDebug) {\n console.log(' - attrs (flattened): \\n', logLines(attrs.map(attrStr).join(', ')))\n console.log(' - ensureOverriden:', Object.keys(ensureOverridden).join(', '))\n }\n\n // expand shorthands, de-opt variables\n attrs = attrs.reduce<ExtractedAttr[]>((acc, cur) => {\n if (!cur) return acc\n if (cur.type === 'attr' && !t.isJSXSpreadAttribute(cur.value)) {\n if (shouldFlatten) {\n if (cur.value.name.name === 'tag') {\n // remove tag=\"\"\n return acc\n }\n }\n }\n if (cur.type !== 'style') {\n acc.push(cur)\n return acc\n }\n\n let key = Object.keys(cur.value)[0]\n const value = cur.value[key]\n const fullKey = tamaguiConfig.shorthands[key]\n // expand shorthands\n if (fullKey) {\n cur.value = { [fullKey]: value }\n key = fullKey\n }\n\n // finally we have all styles + expansions, lets see if we need to skip\n // any and keep them as attrs\n if (disableExtractVariables) {\n if (value[0] === '$') {\n if (shouldPrintDebug) {\n console.log(` keeping variable inline: ${key} =`, value)\n }\n acc.push({\n type: 'attr',\n value: t.jsxAttribute(\n t.jsxIdentifier(key),\n t.jsxExpressionContainer(t.stringLiteral(value))\n ),\n })\n return acc\n }\n }\n\n acc.push(cur)\n return acc\n }, [])\n\n tm.mark('jsx-element-expanded', shouldPrintDebug === 'verbose')\n if (shouldPrintDebug) {\n console.log(' - attrs (expanded): \\n', logLines(attrs.map(attrStr).join(', ')))\n }\n\n // merge styles, leave undefined values\n let prev: ExtractedAttr | null = null\n\n function mergeStyles(prev: ViewStyle & PseudoStyles, next: ViewStyle & PseudoStyles) {\n normalizeStyleObject(next)\n for (const key in next) {\n // merge pseudos\n if (pseudos[key]) {\n prev[key] = prev[key] || {}\n if (shouldPrintDebug) {\n if (!next[key] || !prev[key]) {\n console.log('warn: missing', key, prev, next)\n }\n }\n Object.assign(prev[key], next[key])\n } else {\n prev[key] = next[key]\n }\n }\n }\n\n attrs = attrs.reduce<ExtractedAttr[]>((acc, cur) => {\n if (cur.type === 'style') {\n const key = Object.keys(cur.value)[0]\n const value = cur.value[key]\n\n const shouldKeepOriginalAttr =\n // !isStyleAndAttr[key] &&\n !shouldFlatten &&\n // de-opt transform styles so it merges properly if not flattened\n // we handle this later on\n // (stylePropsTransform[key] ||\n // de-opt if non-style\n !validStyles[key] &&\n !pseudos[key] &&\n !key.startsWith('data-')\n\n if (shouldKeepOriginalAttr) {\n if (shouldPrintDebug) {\n console.log(' - keeping as non-style', key)\n }\n prev = cur\n acc.push({\n type: 'attr',\n value: t.jsxAttribute(\n t.jsxIdentifier(key),\n t.jsxExpressionContainer(\n typeof value === 'string' ? t.stringLiteral(value) : literalToAst(value)\n )\n ),\n })\n acc.push(cur)\n return acc\n }\n\n if (ensureOverridden[key]) {\n acc.push({\n type: 'attr',\n value:\n cur.attr ||\n t.jsxAttribute(\n t.jsxIdentifier(key),\n t.jsxExpressionContainer(t.nullLiteral())\n ),\n })\n }\n\n if (prev?.type === 'style') {\n mergeStyles(prev.value, cur.value)\n return acc\n }\n }\n\n prev = cur\n acc.push(cur)\n return acc\n }, [])\n\n const state = {\n noClassNames: true,\n focus: false,\n hover: false,\n mounted: true, // TODO match logic in createComponent\n press: false,\n pressIn: false,\n }\n\n // evaluates all static attributes into a simple object\n const completeStaticProps = Object.keys(attrs).reduce((acc, index) => {\n const cur = attrs[index] as ExtractedAttr\n if (cur.type === 'style') {\n normalizeStyleObject(cur.value)\n Object.assign(acc, cur.value)\n }\n if (cur.type === 'attr') {\n if (t.isJSXSpreadAttribute(cur.value)) {\n return acc\n }\n if (!t.isJSXIdentifier(cur.value.name)) {\n return acc\n }\n const key = cur.value.name.name\n // undefined = boolean true\n const value = attemptEvalSafe(cur.value.value || t.booleanLiteral(true))\n if (value === FAILED_EVAL) {\n return acc\n }\n acc[key] = value\n }\n return acc\n }, {})\n\n const completeProps = {\n ...staticConfig.defaultProps,\n ...completeStaticProps,\n }\n\n if (shouldPrintDebug) {\n console.log(' - attrs (combined \uD83D\uDD00): \\n', logLines(attrs.map(attrStr).join(', ')))\n console.log(' - defaultProps: \\n', logLines(objToStr(staticConfig.defaultProps)))\n console.log(' - completeProps: \\n', logLines(objToStr(completeProps)))\n }\n\n // post process\n const getStyles = (props: Object | null, debugName = '') => {\n if (!props || !Object.keys(props).length) {\n if (shouldPrintDebug) console.log(' getStyles() no props')\n return {}\n }\n if (excludeProps && !!excludeProps.size) {\n for (const key in props) {\n if (excludeProps.has(key)) {\n if (shouldPrintDebug) console.log(' delete excluded', key)\n delete props[key]\n }\n }\n }\n try {\n const out = getSplitStyles(props, staticConfig, defaultTheme, {\n ...state,\n fallbackProps: completeProps,\n })\n const outStyle = {\n ...out.style,\n ...out.pseudos,\n }\n omitInvalidStyles(outStyle)\n if (shouldPrintDebug) {\n // prettier-ignore\n console.log(` getStyles ${debugName} (props):\\n`, logLines(objToStr(props)))\n // prettier-ignore\n console.log(` getStyles ${debugName} (out.viewProps):\\n`, logLines(objToStr(out.viewProps)))\n // prettier-ignore\n console.log(` getStyles ${debugName} (out.style):\\n`, logLines(objToStr(outStyle || {}), true))\n }\n return outStyle\n } catch (err: any) {\n console.log('error', err.message, err.stack)\n return {}\n }\n }\n\n function omitInvalidStyles(style: any) {\n if (staticConfig.validStyles) {\n for (const key in style) {\n if (\n stylePropsTransform[key] ||\n (!staticConfig.validStyles[key] &&\n !pseudos[key] &&\n !/(hoverStyle|focusStyle|pressStyle)$/.test(key))\n ) {\n if (shouldPrintDebug) console.log(' delete invalid style', key)\n delete style[key]\n }\n }\n }\n }\n\n // used to ensure we pass the entire prop bundle to getStyles\n const completeStyles = getStyles(completeProps, 'completeStyles')\n\n if (!completeStyles) {\n throw new Error(`Impossible, no styles`)\n }\n\n // any extra styles added in postprocess should be added to first group as they wont be overriden\n const addInitialStyleKeys = shouldFlatten\n ? difference(Object.keys(completeStyles), Object.keys(completeStaticProps))\n : []\n\n if (addInitialStyleKeys.length) {\n const toAdd = pick(completeStyles, ...addInitialStyleKeys)\n const firstGroup = attrs.find((x) => x.type === 'style')\n if (shouldPrintDebug) {\n console.log(' toAdd', objToStr(toAdd))\n }\n if (!firstGroup) {\n attrs.unshift({ type: 'style', value: toAdd })\n } else {\n // because were adding fully processed, remove any unprocessed from first group\n omitInvalidStyles(firstGroup.value)\n Object.assign(firstGroup.value, toAdd)\n }\n }\n\n if (shouldPrintDebug) {\n // prettier-ignore\n console.log(' -- addInitialStyleKeys', addInitialStyleKeys.join(', '), { shouldFlatten })\n // prettier-ignore\n console.log(' -- completeStaticProps:\\n', logLines(objToStr(completeStaticProps)))\n // prettier-ignore\n console.log(' -- completeStyles:\\n', logLines(objToStr(completeStyles)))\n }\n\n let getStyleError: any = null\n\n // fix up ternaries, combine final style values\n for (const attr of attrs) {\n try {\n if (shouldPrintDebug) console.log(' *', attrStr(attr))\n switch (attr.type) {\n case 'ternary':\n const a = getStyles(attr.value.alternate, 'ternary.alternate')\n const c = getStyles(attr.value.consequent, 'ternary.consequent')\n if (a) attr.value.alternate = a\n if (c) attr.value.consequent = c\n if (shouldPrintDebug) console.log(' => tern ', attrStr(attr))\n continue\n case 'style':\n // prettier-ignore\n if (shouldPrintDebug) console.log(' * styles in', logLines(objToStr(attr.value)))\n // expand variants and such\n // get the keys we need\n const styles = getStyles(attr.value, 'style')\n // prettier-ignore\n if (shouldPrintDebug) console.log(' * styles out', logLines(objToStr(styles)))\n if (styles) {\n // but actually resolve them to the full object\n // TODO media/psuedo merging\n attr.value = Object.fromEntries(\n Object.keys(styles).map((k) => [k, completeStyles[k]])\n )\n }\n continue\n }\n } catch (err) {\n // any error de-opt\n getStyleError = err\n }\n }\n\n tm.mark('jsx-element-styles', shouldPrintDebug === 'verbose')\n\n if (getStyleError) {\n console.log(' \u26A0\uFE0F postprocessing error, deopt', getStyleError)\n node.attributes = ogAttributes\n return node\n }\n\n // final lazy extra loop:\n const existingStyleKeys = new Set()\n for (let i = attrs.length - 1; i >= 0; i--) {\n const attr = attrs[i]\n\n // if flattening map inline props to proper flattened names\n if (shouldFlatten && canFlattenProps) {\n if (attr.type === 'attr') {\n if (t.isJSXAttribute(attr.value)) {\n if (t.isJSXIdentifier(attr.value.name)) {\n const name = attr.value.name.name\n if (INLINE_EXTRACTABLE[name]) {\n // map to HTML only name\n attr.value.name.name = INLINE_EXTRACTABLE[name]\n }\n }\n }\n }\n }\n\n // remove duplicate styles\n // so if you have:\n // style({ color: 'red' }), ...someProps, style({ color: 'green' })\n // this will mutate:\n // style({}), ...someProps, style({ color: 'green' })\n if (attr.type === 'style') {\n for (const key in attr.value) {\n if (existingStyleKeys.has(key)) {\n if (shouldPrintDebug) {\n console.log(' >> delete existing', key)\n }\n delete attr.value[key]\n } else {\n existingStyleKeys.add(key)\n }\n }\n }\n }\n\n if (shouldFlatten) {\n // DO FLATTEN\n if (shouldPrintDebug) {\n console.log(' [\u2705] flattening', originalNodeName, flatNode)\n }\n node.name.name = flatNode\n res.flattened++\n if (closingElement) {\n closingElement.name.name = flatNode\n }\n }\n\n if (shouldPrintDebug) {\n // prettier-ignore\n console.log(` \u274A\u274A inline props (${inlined.size}):`, shouldDeopt ? ' deopted' : '', hasSpread ? ' has spread' : '', staticConfig.neverFlatten ? 'neverFlatten' : '')\n console.log(' - attrs (end):\\n', logLines(attrs.map(attrStr).join(', ')))\n }\n\n onExtractTag({\n attrs,\n node,\n lineNumbers,\n filePath,\n attemptEval,\n jsxPath: traversePath,\n originalNodeName,\n isFlattened: shouldFlatten,\n programPath,\n })\n } catch (err) {\n throw err\n } finally {\n if (debugPropValue) {\n shouldPrintDebug = ogDebug\n }\n }\n },\n })\n\n tm.mark('jsx-done', shouldPrintDebug === 'verbose')\n\n /**\n * Step 3: Remove dead code from removed media query / theme hooks\n */\n if (modifiedComponents.size) {\n const all = Array.from(modifiedComponents)\n if (shouldPrintDebug) {\n console.log(' [\uD83E\uDE9D] hook check', all.length)\n }\n for (const comp of all) {\n removeUnusedHooks(comp, shouldPrintDebug)\n }\n }\n\n tm.done(shouldPrintDebug === 'verbose')\n\n return res\n },\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/literalToAst.ts"],
4
4
  "sourcesContent": ["import * as t from '@babel/types'\n\nexport function literalToAst(literal: any): t.Expression {\n if (literal === null) {\n return t.nullLiteral()\n }\n switch (typeof literal) {\n case 'function':\n throw new Error('Unsupported')\n case 'number':\n return t.numericLiteral(literal)\n case 'string':\n return t.stringLiteral(literal)\n case 'boolean':\n return t.booleanLiteral(literal)\n case 'undefined':\n return t.unaryExpression('void', t.numericLiteral(0), true)\n default:\n if (Array.isArray(literal)) {\n return t.arrayExpression(literal.map(literalToAst))\n }\n return t.objectExpression(\n Object.keys(literal)\n .filter((k) => {\n return typeof literal[k] !== 'undefined'\n })\n .map((k) => {\n return t.objectProperty(t.stringLiteral(k), literalToAst(literal[k]))\n })\n )\n }\n}\n\nconst easyPeasies = ['BooleanLiteral', 'StringLiteral', 'NumericLiteral']\n\nexport function astToLiteral(node: any) {\n if (!node) {\n return\n }\n if (easyPeasies.includes(node.type)) {\n return node.value\n }\n if (node.name === 'undefined' && !node.value) {\n return undefined\n }\n if (t.isNullLiteral(node)) {\n return null\n }\n if (t.isObjectExpression(node)) {\n return computeProps(node.properties)\n }\n if (t.isArrayExpression(node)) {\n return node.elements.reduce(\n // @ts-ignore\n (acc, element) => [\n ...acc,\n ...(element?.type === 'SpreadElement'\n ? astToLiteral(element.argument)\n : [astToLiteral(element)]),\n ],\n []\n )\n }\n}\n\nfunction computeProps(props) {\n return props.reduce((acc, prop) => {\n if (prop.type === 'SpreadElement') {\n return {\n ...acc,\n ...astToLiteral(prop.argument),\n }\n } else if (prop.type !== 'ObjectMethod') {\n const val = astToLiteral(prop.value)\n if (val !== undefined) {\n return {\n ...acc,\n [prop.key.name]: val,\n }\n }\n }\n return acc\n }, {})\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAmB;AAEZ,sBAAsB,SAA4B;AACvD,MAAI,YAAY,MAAM;AACpB,WAAO,EAAE,YAAY;AAAA,EACvB;AACA,UAAQ,OAAO;AAAA,SACR;AACH,YAAM,IAAI,MAAM,aAAa;AAAA,SAC1B;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,SAC5B;AACH,aAAO,EAAE,cAAc,OAAO;AAAA,SAC3B;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,SAC5B;AACH,aAAO,EAAE,gBAAgB,QAAQ,EAAE,eAAe,CAAC,GAAG,IAAI;AAAA;AAE1D,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,eAAO,EAAE,gBAAgB,QAAQ,IAAI,YAAY,CAAC;AAAA,MACpD;AACA,aAAO,EAAE,iBACP,OAAO,KAAK,OAAO,EAChB,OAAO,CAAC,MAAM;AACb,eAAO,OAAO,QAAQ,OAAO;AAAA,MAC/B,CAAC,EACA,IAAI,CAAC,MAAM;AACV,eAAO,EAAE,eAAe,EAAE,cAAc,CAAC,GAAG,aAAa,QAAQ,EAAE,CAAC;AAAA,MACtE,CAAC,CACL;AAAA;AAEN;AA7BgB;AA+BhB,MAAM,cAAc,CAAC,kBAAkB,iBAAiB,gBAAgB;AAEjE,sBAAsB,MAAW;AACtC,MAAI,CAAC,MAAM;AACT;AAAA,EACF;AACA,MAAI,YAAY,SAAS,KAAK,IAAI,GAAG;AACnC,WAAO,KAAK;AAAA,EACd;AACA,MAAI,KAAK,SAAS,eAAe,CAAC,KAAK,OAAO;AAC5C,WAAO;AAAA,EACT;AACA,MAAI,EAAE,cAAc,IAAI,GAAG;AACzB,WAAO;AAAA,EACT;AACA,MAAI,EAAE,mBAAmB,IAAI,GAAG;AAC9B,WAAO,aAAa,KAAK,UAAU;AAAA,EACrC;AACA,MAAI,EAAE,kBAAkB,IAAI,GAAG;AAC7B,WAAO,KAAK,SAAS,OAEnB,CAAC,KAAK,YAAY;AAAA,MAChB,GAAG;AAAA,MACH,GAAI,oCAAS,UAAS,kBAClB,aAAa,QAAQ,QAAQ,IAC7B,CAAC,aAAa,OAAO,CAAC;AAAA,IAC5B,GACA,CAAC,CACH;AAAA,EACF;AACF;AA5BgB;AA8BhB,sBAAsB,OAAO;AAC3B,SAAO,MAAM,OAAO,CAAC,KAAK,SAAS;AACjC,QAAI,KAAK,SAAS,iBAAiB;AACjC,aAAO,kCACF,MACA,aAAa,KAAK,QAAQ;AAAA,IAEjC,WAAW,KAAK,SAAS,gBAAgB;AACvC,YAAM,MAAM,aAAa,KAAK,KAAK;AACnC,UAAI,QAAQ,QAAW;AACrB,eAAO,iCACF,MADE;AAAA,WAEJ,KAAK,IAAI,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAlBS;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAmB;AAEZ,sBAAsB,SAA4B;AACvD,MAAI,YAAY,MAAM;AACpB,WAAO,EAAE,YAAY;AAAA,EACvB;AACA,UAAQ,OAAO;AAAA,SACR;AACH,YAAM,IAAI,MAAM,aAAa;AAAA,SAC1B;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,SAC5B;AACH,aAAO,EAAE,cAAc,OAAO;AAAA,SAC3B;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,SAC5B;AACH,aAAO,EAAE,gBAAgB,QAAQ,EAAE,eAAe,CAAC,GAAG,IAAI;AAAA;AAE1D,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,eAAO,EAAE,gBAAgB,QAAQ,IAAI,YAAY,CAAC;AAAA,MACpD;AACA,aAAO,EAAE,iBACP,OAAO,KAAK,OAAO,EAChB,OAAO,CAAC,MAAM;AACb,eAAO,OAAO,QAAQ,OAAO;AAAA,MAC/B,CAAC,EACA,IAAI,CAAC,MAAM;AACV,eAAO,EAAE,eAAe,EAAE,cAAc,CAAC,GAAG,aAAa,QAAQ,EAAE,CAAC;AAAA,MACtE,CAAC,CACL;AAAA;AAEN;AA7BgB;AA+BhB,MAAM,cAAc,CAAC,kBAAkB,iBAAiB,gBAAgB;AAEjE,sBAAsB,MAAW;AACtC,MAAI,CAAC,MAAM;AACT;AAAA,EACF;AACA,MAAI,YAAY,SAAS,KAAK,IAAI,GAAG;AACnC,WAAO,KAAK;AAAA,EACd;AACA,MAAI,KAAK,SAAS,eAAe,CAAC,KAAK,OAAO;AAC5C,WAAO;AAAA,EACT;AACA,MAAI,EAAE,cAAc,IAAI,GAAG;AACzB,WAAO;AAAA,EACT;AACA,MAAI,EAAE,mBAAmB,IAAI,GAAG;AAC9B,WAAO,aAAa,KAAK,UAAU;AAAA,EACrC;AACA,MAAI,EAAE,kBAAkB,IAAI,GAAG;AAC7B,WAAO,KAAK,SAAS,OAEnB,CAAC,KAAK,YAAY;AAAA,MAChB,GAAG;AAAA,MACH,GAAI,oCAAS,UAAS,kBAClB,aAAa,QAAQ,QAAQ,IAC7B,CAAC,aAAa,OAAO,CAAC;AAAA,IAC5B,GACA,CAAC,CACH;AAAA,EACF;AACF;AA5BgB;AA8BhB,sBAAsB,OAAO;AAC3B,SAAO,MAAM,OAAO,CAAC,KAAK,SAAS;AACjC,QAAI,KAAK,SAAS,iBAAiB;AACjC,aAAO,kCACF,MACA,aAAa,KAAK,QAAQ;AAAA,IAEjC,WAAW,KAAK,SAAS,gBAAgB;AACvC,YAAM,MAAM,aAAa,KAAK,KAAK;AACnC,UAAI,QAAQ,QAAW;AACrB,eAAO,iCACF,MADE;AAAA,UAEL,CAAC,KAAK,IAAI,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAlBS;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/loadTamagui.ts"],
4
4
  "sourcesContent": ["import { join } from 'path'\n\nimport type { TamaguiComponent, TamaguiInternalConfig } from '@tamagui/core'\nimport { createTamagui } from '@tamagui/core-node'\n\nlet loadedTamagui: any = null\n\nexport function loadTamagui(props: { components: string[]; config: string }): {\n components: Record<string, TamaguiComponent>\n tamaguiConfig: TamaguiInternalConfig\n} {\n if (loadedTamagui) {\n return loadedTamagui\n }\n\n const configPath = join(process.cwd(), props.config)\n\n // threaded caching avoiding 1s loading of large configs every save\n // const cachePath = join(cacheDir, 'tamagui-conf-cached.json')\n // const confStat = statSync(configPath)\n\n // // TODO may want to disable, its pretty optimistic at caching...\n // try {\n // const confCache = readFileSync(cachePath, 'utf-8')\n // const confParsed = JSON.parse(confCache)\n // if (confParsed && confParsed.mtime === confStat.mtime) {\n // return confParsed.value\n // }\n // } catch {\n // // ok, no cache\n // }\n\n const { unregister } = require('esbuild-register/dist/node').register({\n target: 'es2019',\n format: 'cjs',\n })\n\n try {\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n // @ts-ignore\n if (typeof globalThis['__DEV__'] === 'undefined') {\n // @ts-ignore\n globalThis['__DEV__'] = process.env.NODE_ENV === 'development'\n }\n\n const proxyWorm = require('@tamagui/proxy-worm')\n const rnw = require('react-native-web')\n const Mod = require('module')\n const og = Mod.prototype.require\n Mod.prototype.require = function (path: string) {\n if (path.endsWith('.css')) {\n return {}\n }\n if (\n path === '@gorhom/bottom-sheet' ||\n path.startsWith('react-native-reanimated') ||\n path === 'expo-linear-gradient'\n ) {\n return proxyWorm\n }\n if (\n path.startsWith('react-native') &&\n // allow our rnw.tsx imports through\n !path.startsWith('react-native-web/dist/cjs/exports')\n ) {\n return rnw\n }\n try {\n return og.apply(this, arguments)\n } catch (err: any) {\n console.error('Tamagui error loading file:\\n')\n console.log(' ', path, '\\n')\n console.log(err.message)\n console.log(err.stack)\n // avoid infinite loops\n process.exit(1)\n }\n }\n\n // import config\n const exp = require(configPath)\n const tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n try {\n const confPath = require.resolve(configPath)\n console.log(`Received:`, tamaguiConfig)\n throw new Error(`Can't find valid config in ${confPath}`)\n } catch (err) {\n throw err\n }\n }\n\n // import components\n const components = {}\n for (const moduleName of props.components) {\n const exported = require(moduleName)\n for (const Name in exported) {\n const val = exported[Name]\n const staticConfig = val?.staticConfig\n if (staticConfig) {\n Object.assign(components, { [Name]: { staticConfig } })\n }\n }\n }\n\n // undo shims\n process.env.IS_STATIC = undefined\n Mod.prototype.require = og\n\n // set up core-node\n createTamagui(tamaguiConfig as any)\n\n loadedTamagui = {\n components,\n tamaguiConfig,\n }\n\n // save cache\n // try {\n // writeFileSync(\n // cachePath,\n // JSON.stringify({\n // value: loadedTamagui,\n // mtime: confStat.mtime,\n // })\n // )\n // } catch (err: any) {\n // console.log(`Error: tamagui config not stringifiable, caching disabled \"${err.message}\"`)\n // }\n\n return loadedTamagui\n } catch (err) {\n throw err\n } finally {\n unregister()\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqB;AAGrB,uBAA8B;AAE9B,IAAI,gBAAqB;AAElB,qBAAqB,OAG1B;AACA,MAAI,eAAe;AACjB,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,sBAAK,QAAQ,IAAI,GAAG,MAAM,MAAM;AAiBnD,QAAM,EAAE,eAAe,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAED,MAAI;AAGF,YAAQ,IAAI,YAAY;AAExB,QAAI,OAAO,WAAW,eAAe,aAAa;AAEhD,iBAAW,aAAa,QAAQ,IAAI,aAAa;AAAA,IACnD;AAEA,UAAM,YAAY,QAAQ,qBAAqB;AAC/C,UAAM,MAAM,QAAQ,kBAAkB;AACtC,UAAM,MAAM,QAAQ,QAAQ;AAC5B,UAAM,KAAK,IAAI,UAAU;AACzB,QAAI,UAAU,UAAU,SAAU,MAAc;AAC9C,UAAI,KAAK,SAAS,MAAM,GAAG;AACzB,eAAO,CAAC;AAAA,MACV;AACA,UACE,SAAS,0BACT,KAAK,WAAW,yBAAyB,KACzC,SAAS,wBACT;AACA,eAAO;AAAA,MACT;AACA,UACE,KAAK,WAAW,cAAc,KAE9B,CAAC,KAAK,WAAW,mCAAmC,GACpD;AACA,eAAO;AAAA,MACT;AACA,UAAI;AACF,eAAO,GAAG,MAAM,MAAM,SAAS;AAAA,MACjC,SAAS,KAAP;AACA,gBAAQ,MAAM,+BAA+B;AAC7C,gBAAQ,IAAI,OAAO,MAAM,IAAI;AAC7B,gBAAQ,IAAI,IAAI,OAAO;AACvB,gBAAQ,IAAI,IAAI,KAAK;AAErB,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF;AAGA,UAAM,MAAM,QAAQ,UAAU;AAC9B,UAAM,gBAAiB,IAAI,cAAc;AAEzC,QAAI,CAAC,iBAAiB,CAAC,cAAc,QAAQ;AAC3C,UAAI;AACF,cAAM,WAA2B,AAAhB,QAAQ,QAAQ;AACjC,gBAAQ,IAAI,aAAa,aAAa;AACtC,cAAM,IAAI,MAAM,8BAA8B,UAAU;AAAA,MAC1D,SAAS,KAAP;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAGA,UAAM,aAAa,CAAC;AACpB,eAAW,cAAc,MAAM,YAAY;AACzC,YAAM,WAAW,QAAQ,UAAU;AACnC,iBAAW,QAAQ,UAAU;AAC3B,cAAM,MAAM,SAAS;AACrB,cAAM,eAAe,2BAAK;AAC1B,YAAI,cAAc;AAChB,iBAAO,OAAO,YAAY,GAAG,OAAO,EAAE,aAAa,EAAE,CAAC;AAAA,QACxD;AAAA,MACF;AAAA,IACF;AAGA,YAAQ,IAAI,YAAY;AACxB,QAAI,UAAU,UAAU;AAGxB,wCAAc,aAAoB;AAElC,oBAAgB;AAAA,MACd;AAAA,MACA;AAAA,IACF;AAeA,WAAO;AAAA,EACT,SAAS,KAAP;AACA,UAAM;AAAA,EACR,UAAE;AACA,eAAW;AAAA,EACb;AACF;AApIgB;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqB;AAGrB,uBAA8B;AAE9B,IAAI,gBAAqB;AAElB,qBAAqB,OAG1B;AACA,MAAI,eAAe;AACjB,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,sBAAK,QAAQ,IAAI,GAAG,MAAM,MAAM;AAiBnD,QAAM,EAAE,eAAe,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAED,MAAI;AAGF,YAAQ,IAAI,YAAY;AAExB,QAAI,OAAO,WAAW,eAAe,aAAa;AAEhD,iBAAW,aAAa,QAAQ,IAAI,aAAa;AAAA,IACnD;AAEA,UAAM,YAAY,QAAQ,qBAAqB;AAC/C,UAAM,MAAM,QAAQ,kBAAkB;AACtC,UAAM,MAAM,QAAQ,QAAQ;AAC5B,UAAM,KAAK,IAAI,UAAU;AACzB,QAAI,UAAU,UAAU,SAAU,MAAc;AAC9C,UAAI,KAAK,SAAS,MAAM,GAAG;AACzB,eAAO,CAAC;AAAA,MACV;AACA,UACE,SAAS,0BACT,KAAK,WAAW,yBAAyB,KACzC,SAAS,wBACT;AACA,eAAO;AAAA,MACT;AACA,UACE,KAAK,WAAW,cAAc,KAE9B,CAAC,KAAK,WAAW,mCAAmC,GACpD;AACA,eAAO;AAAA,MACT;AACA,UAAI;AACF,eAAO,GAAG,MAAM,MAAM,SAAS;AAAA,MACjC,SAAS,KAAP;AACA,gBAAQ,MAAM,+BAA+B;AAC7C,gBAAQ,IAAI,OAAO,MAAM,IAAI;AAC7B,gBAAQ,IAAI,IAAI,OAAO;AACvB,gBAAQ,IAAI,IAAI,KAAK;AAErB,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF;AAGA,UAAM,MAAM,QAAQ,UAAU;AAC9B,UAAM,gBAAiB,IAAI,cAAc;AAEzC,QAAI,CAAC,iBAAiB,CAAC,cAAc,QAAQ;AAC3C,UAAI;AACF,cAAM,WAA2B,AAAhB,QAAQ,QAAQ;AACjC,gBAAQ,IAAI,aAAa,aAAa;AACtC,cAAM,IAAI,MAAM,8BAA8B,UAAU;AAAA,MAC1D,SAAS,KAAP;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAGA,UAAM,aAAa,CAAC;AACpB,eAAW,cAAc,MAAM,YAAY;AACzC,YAAM,WAAW,QAAQ,UAAU;AACnC,iBAAW,QAAQ,UAAU;AAC3B,cAAM,MAAM,SAAS;AACrB,cAAM,eAAe,2BAAK;AAC1B,YAAI,cAAc;AAChB,iBAAO,OAAO,YAAY,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;AAAA,QACxD;AAAA,MACF;AAAA,IACF;AAGA,YAAQ,IAAI,YAAY;AACxB,QAAI,UAAU,UAAU;AAGxB,wCAAc,aAAoB;AAElC,oBAAgB;AAAA,MACd;AAAA,MACA;AAAA,IACF;AAeA,WAAO;AAAA,EACT,SAAS,KAAP;AACA,UAAM;AAAA,EACR,UAAE;AACA,eAAW;AAAA,EACb;AACF;AApIgB;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/createExtractor.ts"],
4
4
  "sourcesContent": ["import { relative } from 'path'\n\nimport traverse, { NodePath, Visitor } from '@babel/traverse'\nimport * as t from '@babel/types'\nimport {\n PseudoStyles,\n StaticConfigParsed,\n TamaguiInternalConfig,\n getSplitStyles,\n mediaQueryConfig,\n normalizeStyleObject,\n proxyThemeVariables,\n pseudos,\n rnw,\n stylePropsTransform,\n} from '@tamagui/core-node'\nimport { difference, pick } from 'lodash'\nimport type { ViewStyle } from 'react-native'\n\nimport { FAILED_EVAL } from '../constants'\nimport {\n ExtractedAttr,\n ExtractedAttrAttr,\n ExtractedAttrStyle,\n ExtractorParseProps,\n Ternary,\n} from '../types'\nimport { createEvaluator, createSafeEvaluator } from './createEvaluator'\nimport { evaluateAstNode } from './evaluateAstNode'\nimport { attrStr, findComponentName, isInsideTamagui, isPresent, objToStr } from './extractHelpers'\nimport { findTopmostFunction } from './findTopmostFunction'\nimport { getStaticBindingsForScope } from './getStaticBindingsForScope'\nimport { literalToAst } from './literalToAst'\nimport { loadTamagui } from './loadTamagui'\nimport { logLines } from './logLines'\nimport { normalizeTernaries } from './normalizeTernaries'\nimport { removeUnusedHooks } from './removeUnusedHooks'\nimport { timer } from './timer'\nimport { validHTMLAttributes } from './validHTMLAttributes'\n\nconst UNTOUCHED_PROPS = {\n key: true,\n style: true,\n className: true,\n}\n\nconst INLINE_EXTRACTABLE = {\n ref: 'ref',\n key: 'key',\n onPress: 'onClick',\n onHoverIn: 'onMouseEnter',\n onHoverOut: 'onMouseLeave',\n onPressIn: 'onMouseDown',\n onPressOut: 'onMouseUp',\n}\n\nconst isAttr = (x: ExtractedAttr): x is ExtractedAttrAttr => x.type === 'attr'\n\nconst validHooks = {\n useMedia: true,\n useTheme: true,\n}\n\nexport type Extractor = ReturnType<typeof createExtractor>\n\nconst createTernary = (x: Ternary) => x\n\nexport function createExtractor() {\n if (!process.env.TAMAGUI_TARGET) {\n console.log('\u26A0\uFE0F Please set process.env.TAMAGUI_TARGET to either \"web\" or \"native\"')\n process.exit(1)\n }\n\n const shouldAddDebugProp =\n // really basic disable this for next.js because it messes with ssr\n !process.env.npm_package_dependencies_next &&\n process.env.TAMAGUI_TARGET !== 'native' &&\n process.env.IDENTIFY_TAGS !== 'false' &&\n (process.env.NODE_ENV === 'development' || process.env.DEBUG || process.env.IDENTIFY_TAGS)\n\n let loadedTamaguiConfig: TamaguiInternalConfig\n let hasLogged = false\n\n return {\n getTamagui() {\n return loadedTamaguiConfig\n },\n parse: (\n fileOrPath: NodePath<t.Program> | t.File,\n {\n config = 'tamagui.config.ts',\n importsWhitelist = ['constants.js'],\n evaluateVars = true,\n shouldPrintDebug = false,\n sourcePath = '',\n onExtractTag,\n getFlattenedNode,\n disable,\n disableExtraction,\n disableExtractInlineMedia,\n disableExtractVariables,\n disableDebugAttr,\n prefixLogs,\n excludeProps,\n ...props\n }: ExtractorParseProps\n ) => {\n if (disable) {\n return null\n }\n if (sourcePath === '') {\n throw new Error(`Must provide a source file name`)\n }\n if (!Array.isArray(props.components)) {\n throw new Error(`Must provide components array with list of Tamagui component modules`)\n }\n\n const ogDebug = shouldPrintDebug\n const tm = timer()\n\n // we require it after parse because we need to set some global/env stuff before importing\n // otherwise we'd import `rnw` and cause it to evaluate react-native-web which causes errors\n const { components, tamaguiConfig } = loadTamagui({\n config,\n components: props.components || ['tamagui'],\n })\n\n if (shouldPrintDebug === 'verbose') {\n console.log('tamagui.config.ts:', { components, config })\n }\n\n tm.mark('load-tamagui', shouldPrintDebug === 'verbose')\n\n loadedTamaguiConfig = tamaguiConfig as any\n\n const defaultTheme = proxyThemeVariables(\n tamaguiConfig.themes[Object.keys(tamaguiConfig.themes)[0]]\n )\n\n const body = fileOrPath.type === 'Program' ? fileOrPath.get('body') : fileOrPath.program.body\n\n /**\n * Step 1: Determine if importing any statically extractable components\n */\n const isInternalImport = (importStr: string) => {\n return isInsideTamagui(sourcePath) && importStr[0] === '.'\n }\n\n const validComponents: { [key: string]: any } = Object.keys(components)\n // check if uppercase to avoid hitting media query proxy before init\n .filter((key) => key[0].toUpperCase() === key[0] && !!components[key]?.staticConfig)\n .reduce((obj, name) => {\n obj[name] = components[name]\n return obj\n }, {})\n\n if (shouldPrintDebug === 'verbose') {\n console.log('validComponents', Object.keys(validComponents))\n }\n\n let doesUseValidImport = false\n let hasImportedTheme = false\n\n for (const bodyPath of body) {\n if (bodyPath.type !== 'ImportDeclaration') continue\n const node = ('node' in bodyPath ? bodyPath.node : bodyPath) as any\n const from = node.source.value\n const isValidImport = props.components.includes(from) || isInternalImport(from)\n if (isValidImport) {\n const isValidComponent = node.specifiers.some((specifier) => {\n const name = specifier.local.name\n return !!(validComponents[name] || validHooks[name])\n })\n if (shouldPrintDebug === 'verbose') {\n console.log('import from', from, { isValidComponent })\n }\n if (isValidComponent) {\n doesUseValidImport = true\n break\n }\n }\n }\n\n if (shouldPrintDebug) {\n console.log(sourcePath, { doesUseValidImport })\n }\n\n if (!doesUseValidImport) {\n return null\n }\n\n tm.mark('import-check', shouldPrintDebug === 'verbose')\n\n let couldntParse = false\n const modifiedComponents = new Set<NodePath<any>>()\n\n // only keeping a cache around per-file, reset it if it changes\n const bindingCache: Record<string, string | null> = {}\n\n const callTraverse = (a: Visitor<{}>) => {\n return fileOrPath.type === 'File' ? traverse(fileOrPath, a) : fileOrPath.traverse(a)\n }\n\n /**\n * Step 2: Statically extract from JSX < /> nodes\n */\n let programPath: NodePath<t.Program>\n\n const res = {\n flattened: 0,\n optimized: 0,\n modified: 0,\n found: 0,\n }\n\n callTraverse({\n Program: {\n enter(path) {\n programPath = path\n },\n },\n JSXElement(traversePath) {\n tm.mark('jsx-element', shouldPrintDebug === 'verbose')\n\n const node = traversePath.node.openingElement\n const ogAttributes = node.attributes\n const componentName = findComponentName(traversePath.scope)\n const closingElement = traversePath.node.closingElement\n\n // skip non-identifier opening elements (member expressions, etc.)\n if (t.isJSXMemberExpression(closingElement?.name) || !t.isJSXIdentifier(node.name)) {\n return\n }\n\n // validate its a proper import from tamagui (or internally inside tamagui)\n const binding = traversePath.scope.getBinding(node.name.name)\n\n if (binding) {\n if (!t.isImportDeclaration(binding.path.parent)) {\n return\n }\n const source = binding.path.parent.source\n if (!props.components.includes(source.value) && !isInternalImport(source.value)) {\n return\n }\n if (!validComponents[binding.identifier.name]) {\n return\n }\n }\n\n const component = validComponents[node.name.name] as { staticConfig?: StaticConfigParsed }\n if (!component || !component.staticConfig) {\n return\n }\n\n const originalNodeName = node.name.name\n\n // found a valid tag\n res.found++\n\n const filePath = `./${relative(process.cwd(), sourcePath)}`\n const lineNumbers = node.loc\n ? node.loc.start.line +\n (node.loc.start.line !== node.loc.end.line ? `-${node.loc.end.line}` : '')\n : ''\n const tagId = [componentName, `${node.name.name}`, `${filePath}:${lineNumbers}`].filter(\n Boolean\n )\n\n // debug just one\n const debugPropValue = node.attributes\n .filter<t.JSXAttribute>(\n // @ts-ignore\n (n) => t.isJSXAttribute(n) && t.isJSXIdentifier(n.name) && n.name.name === 'debug'\n )\n .map((n) => {\n if (n.value === null) return true\n if (t.isStringLiteral(n.value)) return n.value.value as 'verbose'\n return false\n })[0]\n\n if (debugPropValue) {\n shouldPrintDebug = debugPropValue\n }\n\n try {\n node.attributes.find(\n (n) =>\n t.isJSXAttribute(n) &&\n t.isJSXIdentifier(n.name) &&\n n.name.name === 'debug' &&\n n.value === null\n )\n\n if (shouldPrintDebug) {\n console.log('\\n')\n console.log('\\x1b[33m%s\\x1b[0m', `${tagId[0]} | ${tagId[2]} -------------------`)\n console.log('\\x1b[1m', '\\x1b[32m', `<${originalNodeName} />`)\n }\n\n // add data-is\n if (shouldAddDebugProp && !disableDebugAttr) {\n res.modified++\n node.attributes.unshift(\n t.jsxAttribute(t.jsxIdentifier('data-is'), t.stringLiteral(tagId.join(' ')))\n )\n }\n\n const shouldLog = !hasLogged\n if (shouldLog) {\n const prefix = ' |'\n console.log(\n prefixLogs || prefix,\n ' total \u00B7 optimized \u00B7 flattened '\n )\n hasLogged = true\n }\n if (disableExtraction) {\n return\n }\n\n const { staticConfig } = component\n const isTextView = staticConfig.isText || false\n const validStyles = staticConfig?.validStyles ?? {}\n\n function isValidStyleKey(name: string) {\n return !!(\n !!validStyles[name] ||\n !!pseudos[name] ||\n staticConfig.variants?.[name] ||\n tamaguiConfig.shorthands[name] ||\n (name[0] === '$' ? !!mediaQueryConfig[name.slice(1)] : false)\n )\n }\n\n // find tag=\"a\" tag=\"main\" etc dom indicators\n let tagName = staticConfig.defaultProps?.tag ?? (isTextView ? 'span' : 'div')\n traversePath\n .get('openingElement')\n .get('attributes')\n .forEach((path) => {\n const attr = path.node\n if (t.isJSXSpreadAttribute(attr)) return\n if (attr.name.name !== 'tag') return\n const val = attr.value\n if (!t.isStringLiteral(val)) return\n tagName = val.value\n })\n\n const flatNode = getFlattenedNode({ isTextView, tag: tagName })\n\n const inlineProps = new Set([\n ...(props.inlineProps || []),\n ...(staticConfig.inlineProps || []),\n ])\n const deoptProps = new Set([\n // always de-opt animation\n 'animation',\n ...(props.deoptProps || []),\n ...(staticConfig.deoptProps || []),\n ])\n\n // Generate scope object at this level\n const staticNamespace = getStaticBindingsForScope(\n traversePath.scope,\n importsWhitelist,\n sourcePath,\n bindingCache,\n shouldPrintDebug\n )\n\n const attemptEval = !evaluateVars\n ? evaluateAstNode\n : createEvaluator({\n // @ts-ignore\n tamaguiConfig,\n staticNamespace,\n sourcePath,\n traversePath,\n shouldPrintDebug,\n })\n const attemptEvalSafe = createSafeEvaluator(attemptEval)\n\n if (shouldPrintDebug) {\n console.log(' staticNamespace', Object.keys(staticNamespace).join(', '))\n }\n\n //\n // SPREADS SETUP\n //\n\n // TODO restore\n // const hasDeopt = (obj: Object) => {\n // return Object.keys(obj).some(isDeoptedProp)\n // }\n\n // flatten any easily evaluatable spreads\n const flattenedAttrs: (t.JSXAttribute | t.JSXSpreadAttribute)[] = []\n traversePath\n .get('openingElement')\n .get('attributes')\n .forEach((path) => {\n const attr = path.node\n if (!t.isJSXSpreadAttribute(attr)) {\n flattenedAttrs.push(attr)\n return\n }\n let arg: any\n try {\n arg = attemptEval(attr.argument)\n } catch (e: any) {\n if (shouldPrintDebug) {\n console.log(' couldnt parse spread', e.message)\n }\n flattenedAttrs.push(attr)\n return\n }\n if (arg !== undefined) {\n try {\n if (typeof arg !== 'object' || arg == null) {\n if (shouldPrintDebug) {\n console.log(' non object or null arg', arg)\n }\n flattenedAttrs.push(attr)\n } else {\n for (const k in arg) {\n const value = arg[k]\n // this is a null prop:\n if (!value && typeof value === 'object') {\n console.log('shouldnt we handle this?', k, value, arg)\n continue\n }\n flattenedAttrs.push(\n t.jsxAttribute(\n t.jsxIdentifier(k),\n t.jsxExpressionContainer(literalToAst(value))\n )\n )\n }\n }\n } catch (err) {\n console.warn('cant parse spread, caught err', err)\n couldntParse = true\n }\n }\n })\n\n if (couldntParse) {\n return\n }\n\n tm.mark('jsx-element-flattened', shouldPrintDebug === 'verbose')\n\n // set flattened\n node.attributes = flattenedAttrs\n\n // add in NON-STYLE default props\n if (staticConfig.defaultProps) {\n for (const key in staticConfig.defaultProps) {\n if (isValidStyleKey(key)) {\n continue\n }\n const serialize = require('babel-literal-to-ast')\n const val = staticConfig.defaultProps[key]\n try {\n const serializedDefaultProp = serialize(val)\n node.attributes.unshift(\n t.jsxAttribute(\n t.jsxIdentifier(key),\n typeof val === 'string'\n ? t.stringLiteral(val)\n : t.jsxExpressionContainer(serializedDefaultProp)\n )\n )\n } catch (err) {\n console.warn(\n `\u26A0\uFE0F Error evaluating default prop for component ${node.name.name}, prop ${key}\\n error: ${err}\\n value:`,\n val,\n '\\n defaultProps:',\n staticConfig.defaultProps\n )\n }\n }\n }\n\n let attrs: ExtractedAttr[] = []\n let shouldDeopt = false\n const inlined = new Map<string, any>()\n let hasSetOptimized = false\n\n // RUN first pass\n\n // normalize all conditionals so we can evaluate away easier later\n // at the same time lets normalize shorthand media queries into spreads:\n // that way we can parse them with the same logic later on\n //\n // {...media.sm && { color: x ? 'red' : 'blue' }}\n // => {...media.sm && x && { color: 'red' }}\n // => {...media.sm && !x && { color: 'blue' }}\n //\n // $sm={{ color: 'red' }}\n // => {...media.sm && { color: 'red' }}\n //\n // $sm={{ color: x ? 'red' : 'blue' }}\n // => {...media.sm && x && { color: 'red' }}\n // => {...media.sm && !x && { color: 'blue' }}\n\n attrs = traversePath\n .get('openingElement')\n .get('attributes')\n .flatMap((path) => {\n try {\n const res = evaluateAttribute(path)\n tm.mark('jsx-element-evaluate-attr', shouldPrintDebug === 'verbose')\n if (!res) {\n path.remove()\n }\n return res\n } catch (err: any) {\n if (shouldPrintDebug) {\n console.log('Error extracting attribute', err.message, err.stack)\n console.log('node', path.node)\n }\n return {\n type: 'attr',\n value: path.node,\n } as const\n }\n })\n .flat(4)\n .filter(isPresent)\n\n if (shouldPrintDebug) {\n console.log(' - attrs (before):\\n', logLines(attrs.map(attrStr).join(', ')))\n }\n\n // START function evaluateAttribute\n function evaluateAttribute(\n path: NodePath<t.JSXAttribute | t.JSXSpreadAttribute>\n ): ExtractedAttr | ExtractedAttr[] | null {\n const attribute = path.node\n const attr: ExtractedAttr = { type: 'attr', value: attribute }\n // ...spreads\n if (t.isJSXSpreadAttribute(attribute)) {\n const arg = attribute.argument\n const conditional = t.isConditionalExpression(arg)\n ? // <YStack {...isSmall ? { color: 'red } : { color: 'blue }}\n ([arg.test, arg.consequent, arg.alternate] as const)\n : t.isLogicalExpression(arg) && arg.operator === '&&'\n ? // <YStack {...isSmall && { color: 'red }}\n ([arg.left, arg.right, null] as const)\n : null\n\n if (conditional) {\n const [test, alt, cons] = conditional\n if (!test) throw new Error(`no test`)\n if ([alt, cons].some((side) => side && !isExtractable(side))) {\n if (shouldPrintDebug) {\n console.log('not extractable', alt, cons)\n }\n return attr\n }\n // split into individual ternaries per object property\n return [\n ...(createTernariesFromObjectProperties(test, alt) || []),\n ...((cons &&\n createTernariesFromObjectProperties(t.unaryExpression('!', test), cons)) ||\n []),\n ].map((ternary) => ({\n type: 'ternary',\n value: ternary,\n }))\n }\n }\n // END ...spreads\n\n // directly keep these\n // couldn't evaluate spread, undefined name, or name is not string\n if (\n t.isJSXSpreadAttribute(attribute) ||\n !attribute.name ||\n typeof attribute.name.name !== 'string'\n ) {\n if (shouldPrintDebug) {\n console.log(' ! inlining, spread attr')\n }\n inlined.set(`${Math.random()}`, 'spread')\n return attr\n }\n\n const name = attribute.name.name\n\n if (excludeProps?.has(name)) {\n if (shouldPrintDebug) {\n console.log(' excluding prop', name)\n }\n return null\n }\n\n if (inlineProps.has(name)) {\n inlined.set(name, name)\n if (shouldPrintDebug) {\n console.log(' ! inlining, inline prop', name)\n }\n return attr\n }\n\n // can still optimize the object... see hoverStyle on native\n if (deoptProps.has(name)) {\n shouldDeopt = true\n inlined.set(name, name)\n if (shouldPrintDebug) {\n console.log(' ! inlining, deopted prop', name)\n }\n return attr\n }\n\n // pass className, key, and style props through untouched\n if (UNTOUCHED_PROPS[name]) {\n return attr\n }\n\n if (INLINE_EXTRACTABLE[name]) {\n inlined.set(name, INLINE_EXTRACTABLE[name])\n return attr\n }\n\n if (name.startsWith('data-')) {\n return attr\n }\n\n // shorthand media queries\n if (name[0] === '$' && t.isJSXExpressionContainer(attribute?.value)) {\n // allow disabling this extraction\n if (disableExtractInlineMedia) {\n return attr\n }\n\n const shortname = name.slice(1)\n if (mediaQueryConfig[shortname]) {\n const expression = attribute.value.expression\n if (!t.isJSXEmptyExpression(expression)) {\n const ternaries = createTernariesFromObjectProperties(\n t.stringLiteral(shortname),\n expression,\n {\n inlineMediaQuery: shortname,\n }\n )\n if (ternaries) {\n return ternaries.map((value) => ({\n type: 'ternary',\n value,\n }))\n }\n }\n }\n }\n\n const [value, valuePath] = (() => {\n if (t.isJSXExpressionContainer(attribute?.value)) {\n return [attribute.value.expression!, path.get('value')!] as const\n } else {\n return [attribute.value!, path.get('value')!] as const\n }\n })()\n\n const remove = () => {\n Array.isArray(valuePath) ? valuePath.map((p) => p.remove()) : valuePath.remove()\n }\n\n if (name === 'ref') {\n if (shouldPrintDebug) {\n console.log(' ! inlining, ref', name)\n }\n inlined.set('ref', 'ref')\n return attr\n }\n\n if (name === 'tag') {\n return {\n type: 'attr',\n value: path.node,\n }\n }\n\n // native shouldn't extract variables\n if (disableExtractVariables) {\n if (value) {\n if (value.type === 'StringLiteral' && value.value[0] === '$') {\n if (shouldPrintDebug) {\n console.log(` ! inlining, native disable extract: ${name} =`, value.value)\n }\n inlined.set(name, true)\n return attr\n }\n }\n }\n\n if (name === 'theme') {\n inlined.set('theme', attr.value)\n return attr\n }\n\n // if value can be evaluated, extract it and filter it out\n const styleValue = attemptEvalSafe(value)\n\n // never flatten if a prop isn't a valid static attribute\n // only post prop-mapping\n if (!isValidStyleKey(name)) {\n let keys = [name]\n let out: any = null\n if (staticConfig.propMapper) {\n // for now passing empty props {}, a bit odd, need to at least document\n // for now we don't expose custom components so just noting behavior\n out = staticConfig.propMapper(\n name,\n styleValue,\n defaultTheme,\n staticConfig.defaultProps,\n { resolveVariablesAs: 'auto' }\n )\n if (out) {\n // translate to DOM-compat\n out = rnw.createDOMProps(isTextView ? 'span' : 'div', out)\n // remove className - we dont use rnw styling\n delete out.className\n\n keys = Object.keys(out)\n }\n }\n\n let didInline = false\n const attributes = keys.map((key) => {\n const val = out[key]\n if (isValidStyleKey(key)) {\n return {\n type: 'style',\n value: { [name]: styleValue },\n name,\n attr: path.node,\n } as const\n }\n if (validHTMLAttributes[key]) {\n return attr\n }\n if (shouldPrintDebug) {\n console.log(' ! inlining, non-static', key)\n }\n didInline = true\n inlined.set(key, val)\n return val\n })\n\n // weird logic whats going on here\n if (didInline) {\n if (shouldPrintDebug) {\n console.log(' bailing flattening due to attributes', attributes)\n }\n // bail\n return attr\n }\n\n // return evaluated attributes\n return attributes\n }\n\n // FAILED = dynamic or ternary, keep going\n if (styleValue !== FAILED_EVAL) {\n if (isValidStyleKey(name)) {\n if (shouldPrintDebug) {\n console.log(` style: ${name} =`, styleValue)\n }\n if (!(name in staticConfig.defaultProps)) {\n if (!hasSetOptimized) {\n res.optimized++\n hasSetOptimized = true\n }\n }\n return {\n type: 'style',\n value: { [name]: styleValue },\n name,\n attr: path.node,\n }\n } else {\n inlined.set(name, true)\n return attr\n }\n }\n\n // ternaries!\n\n // binary ternary, we can eventually make this smarter but step 1\n // basically for the common use case of:\n // opacity={(conditional ? 0 : 1) * scale}\n if (t.isBinaryExpression(value)) {\n if (shouldPrintDebug) {\n console.log(` binary expression ${name} = `, value)\n }\n const { operator, left, right } = value\n // if one side is a ternary, and the other side is evaluatable, we can maybe extract\n const lVal = attemptEvalSafe(left)\n const rVal = attemptEvalSafe(right)\n if (shouldPrintDebug) {\n console.log(` evalBinaryExpression lVal ${String(lVal)}, rVal ${String(rVal)}`)\n }\n if (lVal !== FAILED_EVAL && t.isConditionalExpression(right)) {\n const ternary = addBinaryConditional(operator, left, right)\n if (ternary) return ternary\n }\n if (rVal !== FAILED_EVAL && t.isConditionalExpression(left)) {\n const ternary = addBinaryConditional(operator, right, left)\n if (ternary) return ternary\n }\n if (shouldPrintDebug) {\n console.log(` evalBinaryExpression cant extract`)\n }\n inlined.set(name, true)\n return attr\n }\n\n const staticConditional = getStaticConditional(value)\n if (staticConditional) {\n if (shouldPrintDebug === 'verbose') {\n console.log(` static conditional ${name}`, value)\n }\n return { type: 'ternary', value: staticConditional }\n }\n\n const staticLogical = getStaticLogical(value)\n if (staticLogical) {\n if (shouldPrintDebug === 'verbose') {\n console.log(` static ternary ${name} = `, value)\n }\n return { type: 'ternary', value: staticLogical }\n }\n\n // if we've made it this far, the prop stays inline\n inlined.set(name, true)\n if (shouldPrintDebug) {\n console.log(` ! inline no match ${name}`, value)\n }\n\n //\n // RETURN ATTR\n //\n return attr\n\n // attr helpers:\n function addBinaryConditional(\n operator: any,\n staticExpr: any,\n cond: t.ConditionalExpression\n ): ExtractedAttr | null {\n if (getStaticConditional(cond)) {\n const alt = attemptEval(t.binaryExpression(operator, staticExpr, cond.alternate))\n const cons = attemptEval(\n t.binaryExpression(operator, staticExpr, cond.consequent)\n )\n if (shouldPrintDebug) {\n console.log(' binaryConditional', cond.test, cons, alt)\n }\n return {\n type: 'ternary',\n value: {\n test: cond.test,\n remove,\n alternate: { [name]: alt },\n consequent: { [name]: cons },\n },\n }\n }\n return null\n }\n\n function getStaticConditional(value: t.Node): Ternary | null {\n if (t.isConditionalExpression(value)) {\n try {\n const aVal = attemptEval(value.alternate)\n const cVal = attemptEval(value.consequent)\n if (shouldPrintDebug) {\n const type = value.test.type\n console.log(' static ternary', type, cVal, aVal)\n }\n return {\n test: value.test,\n remove,\n consequent: { [name]: cVal },\n alternate: { [name]: aVal },\n }\n } catch (err: any) {\n if (shouldPrintDebug) {\n console.log(' cant eval ternary', err.message)\n }\n }\n }\n return null\n }\n\n function getStaticLogical(value: t.Node): Ternary | null {\n if (t.isLogicalExpression(value)) {\n if (value.operator === '&&') {\n try {\n const val = attemptEval(value.right)\n if (shouldPrintDebug) {\n console.log(' staticLogical', value.left, name, val)\n }\n return {\n test: value.left,\n remove,\n consequent: { [name]: val },\n alternate: null,\n }\n } catch (err) {\n if (shouldPrintDebug) {\n console.log(' cant static eval logical', err)\n }\n }\n }\n }\n return null\n }\n } // END function evaluateAttribute\n\n function isExtractable(obj: t.Node): obj is t.ObjectExpression {\n return (\n t.isObjectExpression(obj) &&\n obj.properties.every((prop) => {\n if (!t.isObjectProperty(prop)) {\n console.log('not object prop', prop)\n return false\n }\n const propName = prop.key['name']\n if (!isValidStyleKey(propName) && propName !== 'tag') {\n if (shouldPrintDebug) {\n console.log(' not a valid style prop!', propName)\n }\n return false\n }\n return true\n })\n )\n }\n\n // side = {\n // color: 'red',\n // background: x ? 'red' : 'green',\n // $gtSm: { color: 'green' }\n // }\n // => Ternary<test, { color: 'red' }, null>\n // => Ternary<test && x, { background: 'red' }, null>\n // => Ternary<test && !x, { background: 'green' }, null>\n // => Ternary<test && '$gtSm', { color: 'green' }, null>\n function createTernariesFromObjectProperties(\n test: t.Expression,\n side: t.Expression | null,\n ternaryPartial: Partial<Ternary> = {}\n ): null | Ternary[] {\n if (!side) {\n return null\n }\n if (!isExtractable(side)) {\n throw new Error('not extractable')\n }\n return side.properties.flatMap((property) => {\n if (!t.isObjectProperty(property)) {\n throw new Error('expected object property')\n }\n // handle media queries inside spread/conditional objects\n if (t.isIdentifier(property.key)) {\n const key = property.key.name\n const mediaQueryKey = key.slice(1)\n const isMediaQuery = key[0] === '$' && mediaQueryConfig[mediaQueryKey]\n if (isMediaQuery) {\n if (t.isExpression(property.value)) {\n const ternaries = createTernariesFromObjectProperties(\n t.stringLiteral(mediaQueryKey),\n property.value,\n {\n inlineMediaQuery: mediaQueryKey,\n }\n )\n if (ternaries) {\n return ternaries.map((value) => ({\n ...ternaryPartial,\n ...value,\n // ensure media query test stays on left side (see getMediaQueryTernary)\n test: t.logicalExpression('&&', value.test, test),\n }))\n } else {\n console.log('\u26A0\uFE0F no ternaries?', property)\n }\n } else {\n console.log('\u26A0\uFE0F not expression', property)\n }\n }\n }\n // this could be a recurse here if we want to get fancy\n if (t.isConditionalExpression(property.value)) {\n // merge up into the parent conditional, split into two\n const [truthy, falsy] = [\n t.objectExpression([t.objectProperty(property.key, property.value.consequent)]),\n t.objectExpression([t.objectProperty(property.key, property.value.alternate)]),\n ].map((x) => attemptEval(x))\n return [\n createTernary({\n remove() {},\n ...ternaryPartial,\n test: t.logicalExpression('&&', test, property.value.test),\n consequent: truthy,\n alternate: null,\n }),\n createTernary({\n ...ternaryPartial,\n test: t.logicalExpression(\n '&&',\n test,\n t.unaryExpression('!', property.value.test)\n ),\n consequent: falsy,\n alternate: null,\n remove() {},\n }),\n ]\n }\n const obj = t.objectExpression([t.objectProperty(property.key, property.value)])\n const consequent = attemptEval(obj)\n return createTernary({\n remove() {},\n ...ternaryPartial,\n test,\n consequent,\n alternate: null,\n })\n })\n }\n\n // now update to new values\n node.attributes = attrs.filter(isAttr).map((x) => x.value)\n\n if (couldntParse || shouldDeopt) {\n if (shouldPrintDebug) {\n console.log(` avoid optimizing:`, { couldntParse, shouldDeopt })\n }\n node.attributes = ogAttributes\n return\n }\n\n // before deopt, can still optimize\n const parentFn = findTopmostFunction(traversePath)\n if (parentFn) {\n modifiedComponents.add(parentFn)\n }\n\n // combine ternaries\n let ternaries: Ternary[] = []\n attrs = attrs\n .reduce<(ExtractedAttr | ExtractedAttr[])[]>((out, cur) => {\n const next = attrs[attrs.indexOf(cur) + 1]\n if (cur.type === 'ternary') {\n ternaries.push(cur.value)\n }\n if ((!next || next.type !== 'ternary') && ternaries.length) {\n // finish, process\n const normalized = normalizeTernaries(ternaries).map(\n ({ alternate, consequent, ...rest }) => {\n return {\n type: 'ternary' as const,\n value: {\n ...rest,\n alternate: alternate || null,\n consequent: consequent || null,\n },\n }\n }\n )\n try {\n return [...out, ...normalized]\n } finally {\n if (shouldPrintDebug) {\n console.log(\n ` normalizeTernaries (${ternaries.length} => ${normalized.length})`\n )\n }\n ternaries = []\n }\n }\n if (cur.type === 'ternary') {\n return out\n }\n out.push(cur)\n return out\n }, [])\n .flat()\n\n // flatten logic!\n // fairly simple check to see if all children are text\n const hasSpread = node.attributes.some((x) => t.isJSXSpreadAttribute(x))\n\n const hasOnlyStringChildren =\n !hasSpread &&\n (node.selfClosing ||\n (traversePath.node.children &&\n traversePath.node.children.every((x) => x.type === 'JSXText')))\n\n let themeVal = inlined.get('theme')\n inlined.delete('theme')\n const allOtherPropsExtractable = [...inlined].every(([k, v]) => INLINE_EXTRACTABLE[k])\n const shouldWrapThme = allOtherPropsExtractable && !!themeVal\n const canFlattenProps = inlined.size === 0 || shouldWrapThme || allOtherPropsExtractable\n\n let shouldFlatten =\n !shouldDeopt &&\n canFlattenProps &&\n !hasSpread &&\n staticConfig.neverFlatten !== true &&\n (staticConfig.neverFlatten === 'jsx' ? hasOnlyStringChildren : true)\n\n if (shouldPrintDebug) {\n // prettier-ignore\n console.log(' - flatten?', objToStr({ hasSpread, shouldDeopt, shouldFlatten, canFlattenProps, shouldWrapThme, allOtherPropsExtractable, hasOnlyStringChildren }))\n }\n\n // wrap theme around children on flatten\n if (shouldFlatten && shouldWrapThme) {\n if (shouldPrintDebug) {\n console.log(' - wrapping theme', allOtherPropsExtractable, themeVal)\n }\n\n // remove theme attribute from flattened node\n attrs = attrs.filter((x) =>\n x.type === 'attr' && t.isJSXAttribute(x.value) && x.value.name.name === 'theme'\n ? false\n : true\n )\n\n // add import\n if (!hasImportedTheme) {\n hasImportedTheme = true\n programPath.node.body.push(\n t.importDeclaration(\n [t.importSpecifier(t.identifier('_TamaguiTheme'), t.identifier('Theme'))],\n t.stringLiteral('@tamagui/core')\n )\n )\n }\n\n traversePath.replaceWith(\n t.jsxElement(\n t.jsxOpeningElement(t.jsxIdentifier('_TamaguiTheme'), [\n t.jsxAttribute(t.jsxIdentifier('name'), themeVal.value),\n ]),\n t.jsxClosingElement(t.jsxIdentifier('_TamaguiTheme')),\n [traversePath.node]\n )\n )\n }\n\n // only if we flatten, ensure the default styles are there\n if (shouldFlatten && staticConfig.defaultProps) {\n const defaultStyleAttrs = Object.keys(staticConfig.defaultProps).flatMap((key) => {\n if (!isValidStyleKey(key)) {\n return []\n }\n const value = staticConfig.defaultProps[key]\n const name = tamaguiConfig.shorthands[key] || key\n if (value === undefined) {\n console.warn(\n `\u26A0\uFE0F Error evaluating default style for component, prop ${key} ${value}`\n )\n shouldDeopt = true\n return\n }\n const attr: ExtractedAttrStyle = {\n type: 'style',\n name,\n value: { [name]: value },\n }\n return attr\n }) as ExtractedAttr[]\n\n if (defaultStyleAttrs.length) {\n attrs = [...defaultStyleAttrs, ...attrs]\n }\n }\n\n if (shouldDeopt) {\n node.attributes = ogAttributes\n return\n }\n\n // insert overrides - this inserts null props for things that are set in classNames\n // only when not flattening, so the downstream component can skip applying those styles\n const ensureOverridden = {}\n if (!shouldFlatten) {\n for (const cur of attrs) {\n if (cur.type === 'style') {\n // TODO need to loop over initial props not just style props\n for (const key in cur.value) {\n const shouldEnsureOverridden = !!staticConfig.ensureOverriddenProp?.[key]\n const isSetInAttrsAlready = attrs.some(\n (x) =>\n x.type === 'attr' &&\n x.value.type === 'JSXAttribute' &&\n x.value.name.name === key\n )\n\n if (!isSetInAttrsAlready) {\n const isVariant = !!staticConfig.variants?.[cur.name || '']\n if (isVariant || shouldEnsureOverridden) {\n ensureOverridden[key] = true\n }\n }\n }\n }\n }\n }\n\n if (shouldPrintDebug) {\n console.log(' - attrs (flattened): \\n', logLines(attrs.map(attrStr).join(', ')))\n console.log(' - ensureOverriden:', Object.keys(ensureOverridden).join(', '))\n }\n\n // expand shorthands, de-opt variables\n attrs = attrs.reduce<ExtractedAttr[]>((acc, cur) => {\n if (!cur) return acc\n if (cur.type === 'attr' && !t.isJSXSpreadAttribute(cur.value)) {\n if (shouldFlatten) {\n if (cur.value.name.name === 'tag') {\n // remove tag=\"\"\n return acc\n }\n }\n }\n if (cur.type !== 'style') {\n acc.push(cur)\n return acc\n }\n\n let key = Object.keys(cur.value)[0]\n const value = cur.value[key]\n const fullKey = tamaguiConfig.shorthands[key]\n // expand shorthands\n if (fullKey) {\n cur.value = { [fullKey]: value }\n key = fullKey\n }\n\n // finally we have all styles + expansions, lets see if we need to skip\n // any and keep them as attrs\n if (disableExtractVariables) {\n if (value[0] === '$') {\n if (shouldPrintDebug) {\n console.log(` keeping variable inline: ${key} =`, value)\n }\n acc.push({\n type: 'attr',\n value: t.jsxAttribute(\n t.jsxIdentifier(key),\n t.jsxExpressionContainer(t.stringLiteral(value))\n ),\n })\n return acc\n }\n }\n\n acc.push(cur)\n return acc\n }, [])\n\n tm.mark('jsx-element-expanded', shouldPrintDebug === 'verbose')\n if (shouldPrintDebug) {\n console.log(' - attrs (expanded): \\n', logLines(attrs.map(attrStr).join(', ')))\n }\n\n // merge styles, leave undefined values\n let prev: ExtractedAttr | null = null\n\n function mergeStyles(prev: ViewStyle & PseudoStyles, next: ViewStyle & PseudoStyles) {\n normalizeStyleObject(next)\n for (const key in next) {\n // merge pseudos\n if (pseudos[key]) {\n prev[key] = prev[key] || {}\n if (shouldPrintDebug) {\n if (!next[key] || !prev[key]) {\n console.log('warn: missing', key, prev, next)\n }\n }\n Object.assign(prev[key], next[key])\n } else {\n prev[key] = next[key]\n }\n }\n }\n\n attrs = attrs.reduce<ExtractedAttr[]>((acc, cur) => {\n if (cur.type === 'style') {\n const key = Object.keys(cur.value)[0]\n const value = cur.value[key]\n\n const shouldKeepOriginalAttr =\n // !isStyleAndAttr[key] &&\n !shouldFlatten &&\n // de-opt transform styles so it merges properly if not flattened\n // we handle this later on\n // (stylePropsTransform[key] ||\n // de-opt if non-style\n !validStyles[key] &&\n !pseudos[key] &&\n !key.startsWith('data-')\n\n if (shouldKeepOriginalAttr) {\n if (shouldPrintDebug) {\n console.log(' - keeping as non-style', key)\n }\n prev = cur\n acc.push({\n type: 'attr',\n value: t.jsxAttribute(\n t.jsxIdentifier(key),\n t.jsxExpressionContainer(\n typeof value === 'string' ? t.stringLiteral(value) : literalToAst(value)\n )\n ),\n })\n acc.push(cur)\n return acc\n }\n\n if (ensureOverridden[key]) {\n acc.push({\n type: 'attr',\n value:\n cur.attr ||\n t.jsxAttribute(\n t.jsxIdentifier(key),\n t.jsxExpressionContainer(t.nullLiteral())\n ),\n })\n }\n\n if (prev?.type === 'style') {\n mergeStyles(prev.value, cur.value)\n return acc\n }\n }\n\n prev = cur\n acc.push(cur)\n return acc\n }, [])\n\n const state = {\n noClassNames: true,\n focus: false,\n hover: false,\n mounted: true, // TODO match logic in createComponent\n press: false,\n pressIn: false,\n }\n\n // evaluates all static attributes into a simple object\n const completeStaticProps = Object.keys(attrs).reduce((acc, index) => {\n const cur = attrs[index] as ExtractedAttr\n if (cur.type === 'style') {\n normalizeStyleObject(cur.value)\n Object.assign(acc, cur.value)\n }\n if (cur.type === 'attr') {\n if (t.isJSXSpreadAttribute(cur.value)) {\n return acc\n }\n if (!t.isJSXIdentifier(cur.value.name)) {\n return acc\n }\n const key = cur.value.name.name\n // undefined = boolean true\n const value = attemptEvalSafe(cur.value.value || t.booleanLiteral(true))\n if (value === FAILED_EVAL) {\n return acc\n }\n acc[key] = value\n }\n return acc\n }, {})\n\n const completeProps = {\n ...staticConfig.defaultProps,\n ...completeStaticProps,\n }\n\n if (shouldPrintDebug) {\n console.log(' - attrs (combined \uD83D\uDD00): \\n', logLines(attrs.map(attrStr).join(', ')))\n console.log(' - defaultProps: \\n', logLines(objToStr(staticConfig.defaultProps)))\n console.log(' - completeProps: \\n', logLines(objToStr(completeProps)))\n }\n\n // post process\n const getStyles = (props: Object | null, debugName = '') => {\n if (!props || !Object.keys(props).length) {\n if (shouldPrintDebug) console.log(' getStyles() no props')\n return {}\n }\n if (excludeProps && !!excludeProps.size) {\n for (const key in props) {\n if (excludeProps.has(key)) {\n if (shouldPrintDebug) console.log(' delete excluded', key)\n delete props[key]\n }\n }\n }\n try {\n const out = getSplitStyles(props, staticConfig, defaultTheme, {\n ...state,\n fallbackProps: completeProps,\n })\n const outStyle = {\n ...out.style,\n ...out.pseudos,\n }\n omitInvalidStyles(outStyle)\n if (shouldPrintDebug) {\n // prettier-ignore\n console.log(` getStyles ${debugName} (props):\\n`, logLines(objToStr(props)))\n // prettier-ignore\n console.log(` getStyles ${debugName} (out.viewProps):\\n`, logLines(objToStr(out.viewProps)))\n // prettier-ignore\n console.log(` getStyles ${debugName} (out.style):\\n`, logLines(objToStr(outStyle || {}), true))\n }\n return outStyle\n } catch (err: any) {\n console.log('error', err.message, err.stack)\n return {}\n }\n }\n\n function omitInvalidStyles(style: any) {\n if (staticConfig.validStyles) {\n for (const key in style) {\n if (\n stylePropsTransform[key] ||\n (!staticConfig.validStyles[key] &&\n !pseudos[key] &&\n !/(hoverStyle|focusStyle|pressStyle)$/.test(key))\n ) {\n if (shouldPrintDebug) console.log(' delete invalid style', key)\n delete style[key]\n }\n }\n }\n }\n\n // used to ensure we pass the entire prop bundle to getStyles\n const completeStyles = getStyles(completeProps, 'completeStyles')\n\n if (!completeStyles) {\n throw new Error(`Impossible, no styles`)\n }\n\n // any extra styles added in postprocess should be added to first group as they wont be overriden\n const addInitialStyleKeys = shouldFlatten\n ? difference(Object.keys(completeStyles), Object.keys(completeStaticProps))\n : []\n\n if (addInitialStyleKeys.length) {\n const toAdd = pick(completeStyles, ...addInitialStyleKeys)\n const firstGroup = attrs.find((x) => x.type === 'style')\n if (shouldPrintDebug) {\n console.log(' toAdd', objToStr(toAdd))\n }\n if (!firstGroup) {\n attrs.unshift({ type: 'style', value: toAdd })\n } else {\n // because were adding fully processed, remove any unprocessed from first group\n omitInvalidStyles(firstGroup.value)\n Object.assign(firstGroup.value, toAdd)\n }\n }\n\n if (shouldPrintDebug) {\n // prettier-ignore\n console.log(' -- addInitialStyleKeys', addInitialStyleKeys.join(', '), { shouldFlatten })\n // prettier-ignore\n console.log(' -- completeStaticProps:\\n', logLines(objToStr(completeStaticProps)))\n // prettier-ignore\n console.log(' -- completeStyles:\\n', logLines(objToStr(completeStyles)))\n }\n\n let getStyleError: any = null\n\n // fix up ternaries, combine final style values\n for (const attr of attrs) {\n try {\n if (shouldPrintDebug) console.log(' *', attrStr(attr))\n switch (attr.type) {\n case 'ternary':\n const a = getStyles(attr.value.alternate, 'ternary.alternate')\n const c = getStyles(attr.value.consequent, 'ternary.consequent')\n if (a) attr.value.alternate = a\n if (c) attr.value.consequent = c\n if (shouldPrintDebug) console.log(' => tern ', attrStr(attr))\n continue\n case 'style':\n // prettier-ignore\n if (shouldPrintDebug) console.log(' * styles in', logLines(objToStr(attr.value)))\n // expand variants and such\n // get the keys we need\n const styles = getStyles(attr.value, 'style')\n // prettier-ignore\n if (shouldPrintDebug) console.log(' * styles out', logLines(objToStr(styles)))\n if (styles) {\n // but actually resolve them to the full object\n // TODO media/psuedo merging\n attr.value = Object.fromEntries(\n Object.keys(styles).map((k) => [k, completeStyles[k]])\n )\n }\n continue\n }\n } catch (err) {\n // any error de-opt\n getStyleError = err\n }\n }\n\n tm.mark('jsx-element-styles', shouldPrintDebug === 'verbose')\n\n if (getStyleError) {\n console.log(' \u26A0\uFE0F postprocessing error, deopt', getStyleError)\n node.attributes = ogAttributes\n return node\n }\n\n // final lazy extra loop:\n const existingStyleKeys = new Set()\n for (let i = attrs.length - 1; i >= 0; i--) {\n const attr = attrs[i]\n\n // if flattening map inline props to proper flattened names\n if (shouldFlatten && canFlattenProps) {\n if (attr.type === 'attr') {\n if (t.isJSXAttribute(attr.value)) {\n if (t.isJSXIdentifier(attr.value.name)) {\n const name = attr.value.name.name\n if (INLINE_EXTRACTABLE[name]) {\n // map to HTML only name\n attr.value.name.name = INLINE_EXTRACTABLE[name]\n }\n }\n }\n }\n }\n\n // remove duplicate styles\n // so if you have:\n // style({ color: 'red' }), ...someProps, style({ color: 'green' })\n // this will mutate:\n // style({}), ...someProps, style({ color: 'green' })\n if (attr.type === 'style') {\n for (const key in attr.value) {\n if (existingStyleKeys.has(key)) {\n if (shouldPrintDebug) {\n console.log(' >> delete existing', key)\n }\n delete attr.value[key]\n } else {\n existingStyleKeys.add(key)\n }\n }\n }\n }\n\n if (shouldFlatten) {\n // DO FLATTEN\n if (shouldPrintDebug) {\n console.log(' [\u2705] flattening', originalNodeName, flatNode)\n }\n node.name.name = flatNode\n res.flattened++\n if (closingElement) {\n closingElement.name.name = flatNode\n }\n }\n\n if (shouldPrintDebug) {\n // prettier-ignore\n console.log(` \u274A\u274A inline props (${inlined.size}):`, shouldDeopt ? ' deopted' : '', hasSpread ? ' has spread' : '', staticConfig.neverFlatten ? 'neverFlatten' : '')\n console.log(' - attrs (end):\\n', logLines(attrs.map(attrStr).join(', ')))\n }\n\n onExtractTag({\n attrs,\n node,\n lineNumbers,\n filePath,\n attemptEval,\n jsxPath: traversePath,\n originalNodeName,\n isFlattened: shouldFlatten,\n programPath,\n })\n } catch (err) {\n throw err\n } finally {\n if (debugPropValue) {\n shouldPrintDebug = ogDebug\n }\n }\n },\n })\n\n tm.mark('jsx-done', shouldPrintDebug === 'verbose')\n\n /**\n * Step 3: Remove dead code from removed media query / theme hooks\n */\n if (modifiedComponents.size) {\n const all = Array.from(modifiedComponents)\n if (shouldPrintDebug) {\n console.log(' [\uD83E\uDE9D] hook check', all.length)\n }\n for (const comp of all) {\n removeUnusedHooks(comp, shouldPrintDebug)\n }\n }\n\n tm.done(shouldPrintDebug === 'verbose')\n\n return res\n },\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/extractMediaStyle.ts"],
4
4
  "sourcesContent": ["import { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\nimport { TamaguiInternalConfig, getStylesAtomic, mediaObjectToString } from '@tamagui/core-node'\nimport { ViewStyle } from 'react-native'\n\nimport { MEDIA_SEP } from '../constants'\nimport { StyleObject, Ternary } from '../types'\nimport { isInsideTamagui, isPresent } from './extractHelpers'\n\nexport function extractMediaStyle(\n ternary: Ternary,\n jsxPath: NodePath<t.JSXElement>,\n tamaguiConfig: TamaguiInternalConfig,\n sourcePath: string,\n importance = 0,\n shouldPrintDebug: boolean | 'verbose' = false\n) {\n const mt = getMediaQueryTernary(ternary, jsxPath, sourcePath)\n if (!mt) {\n return null\n }\n const { key } = mt\n const mq = tamaguiConfig.media[key]\n if (!mq) {\n console.error(`Media query \"${key}\" not found: ${Object.keys(tamaguiConfig.media)}`)\n return null\n }\n const getStyleObj = (styleObj: ViewStyle | null, negate = false) => {\n return styleObj ? { styleObj, negate } : null\n }\n const styleOpts = [\n getStyleObj(ternary.consequent, false),\n getStyleObj(ternary.alternate, true),\n ].filter(isPresent)\n if (shouldPrintDebug && !styleOpts.length) {\n console.log(' media query, no styles?')\n return null\n }\n // for now order first strongest\n const mediaKeys = Object.keys(tamaguiConfig.media)\n const mediaKeyPrecendence = mediaKeys.reduce((acc, cur, i) => {\n acc[cur] = new Array(importance + 1).fill(':root').join('')\n return acc\n }, {})\n let mediaStyles: StyleObject[] = []\n for (const { styleObj, negate } of styleOpts) {\n const styles = getStylesAtomic(styleObj)\n const singleMediaStyles = styles.map((style) => {\n const negKey = negate ? '0' : ''\n const ogPrefix = style.identifier.slice(0, style.identifier.indexOf('-') + 1)\n // adds an extra separator before and after to detect later in concatClassName\n // so it goes from: \"_f-[hash]\"\n // to: \"_f-_sm0_[hash]\" or \"_f-_sm_[hash]\"\n const identifier = `${style.identifier.replace(\n ogPrefix,\n `${ogPrefix}${MEDIA_SEP}${key}${negKey}${MEDIA_SEP}`\n )}`\n const className = `.${identifier}`\n const mediaSelector = mediaObjectToString(tamaguiConfig.media[key])\n const screenStr = negate ? 'not all' : 'screen'\n const mediaQuery = `${screenStr} and ${mediaSelector}`\n const precendencePrefix = mediaKeyPrecendence[key]\n const styleInner = style.rules[0].replace(style.identifier, identifier)\n // combines media queries if they already exist\n let styleRule = ''\n if (styleInner.includes('@media')) {\n // combine\n styleRule = styleInner.replace('{', ` and ${mediaQuery} {`)\n } else {\n styleRule = `@media ${mediaQuery} { ${precendencePrefix} ${styleInner} }`\n }\n return {\n ...style,\n identifier,\n className,\n rules: [styleRule],\n }\n })\n if (shouldPrintDebug === 'verbose') {\n // prettier-ignore\n console.log(' media styles:', importance, styleObj, singleMediaStyles.map(x => x.identifier).join(', '))\n }\n // add to output\n mediaStyles = [...mediaStyles, ...singleMediaStyles]\n }\n // filter out\n ternary.remove()\n return { mediaStyles, ternaryWithoutMedia: mt.ternaryWithoutMedia }\n}\n\nfunction getMediaQueryTernary(\n ternary: Ternary,\n jsxPath: NodePath<t.JSXElement>,\n sourcePath: string\n): null | {\n key: string\n bindingName: string\n ternaryWithoutMedia: Ternary | null\n} {\n // this handles unwrapping logical && media query ternarys\n // first, unwrap if it has media logicalExpression\n if (t.isLogicalExpression(ternary.test) && ternary.test.operator === '&&') {\n // *should* be normalized to always be on left side\n const mediaLeft = getMediaInfoFromExpression(\n ternary.test.left,\n jsxPath,\n sourcePath,\n ternary.inlineMediaQuery\n )\n if (mediaLeft) {\n return {\n ...mediaLeft,\n ternaryWithoutMedia: {\n ...ternary,\n test: ternary.test.right,\n },\n }\n }\n }\n // const media = useMedia()\n // ... media.sm\n const result = getMediaInfoFromExpression(\n ternary.test,\n jsxPath,\n sourcePath,\n ternary.inlineMediaQuery\n )\n if (result) {\n return {\n ...result,\n ternaryWithoutMedia: null,\n }\n }\n return null\n}\n\nfunction getMediaInfoFromExpression(\n test: t.Expression,\n jsxPath: NodePath<t.JSXElement>,\n sourcePath: string,\n inlineMediaQuery?: string\n) {\n if (inlineMediaQuery) {\n return {\n key: inlineMediaQuery,\n bindingName: inlineMediaQuery,\n }\n }\n if (t.isMemberExpression(test) && t.isIdentifier(test.object) && t.isIdentifier(test.property)) {\n const name = test.object['name']\n const key = test.property['name']\n const bindings = jsxPath.scope.getAllBindings()\n const binding = bindings[name]\n if (!binding) return false\n const bindingNode = binding.path?.node\n if (!t.isVariableDeclarator(bindingNode) || !bindingNode.init) return false\n if (!isValidMediaCall(jsxPath, bindingNode.init, sourcePath)) return false\n return { key, bindingName: name }\n }\n if (t.isIdentifier(test)) {\n const key = test.name\n const node = jsxPath.scope.getBinding(test.name)?.path?.node\n if (!t.isVariableDeclarator(node)) return false\n if (!node.init || !isValidMediaCall(jsxPath, node.init, sourcePath)) return false\n return { key, bindingName: key }\n }\n return null\n}\n\nexport function isValidMediaCall(\n jsxPath: NodePath<t.JSXElement>,\n init: t.Expression,\n sourcePath: string\n) {\n if (!t.isCallExpression(init)) return false\n if (!t.isIdentifier(init.callee)) return false\n // TODO could support renaming useMedia by looking up import first\n if (init.callee.name !== 'useMedia') return false\n const bindings = jsxPath.scope.getAllBindings()\n const mediaBinding = bindings['useMedia']\n if (!mediaBinding) return false\n const useMediaImport = mediaBinding.path.parent\n if (!t.isImportDeclaration(useMediaImport)) return false\n if (useMediaImport.source.value !== 'tamagui') {\n if (!isInsideTamagui(sourcePath)) {\n return false\n }\n }\n return true\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/extractToClassNames.ts"],
4
4
  "sourcesContent": ["import * as path from 'path'\nimport { basename } from 'path'\nimport * as util from 'util'\n\nimport generate from '@babel/generator'\nimport * as t from '@babel/types'\nimport { getStylesAtomic } from '@tamagui/core-node'\nimport { concatClassName } from '@tamagui/helpers'\nimport invariant from 'invariant'\nimport { ViewStyle } from 'react-native'\nimport { LoaderContext } from 'webpack'\n\nimport { CONCAT_CLASSNAME_IMPORT } from '../constants'\nimport { ClassNameObject, StyleObject, TamaguiOptions, Ternary } from '../types'\nimport { babelParse } from './babelParse'\nimport { buildClassName } from './buildClassName'\nimport { Extractor } from './createExtractor'\nimport { ensureImportingConcat } from './ensureImportingConcat'\nimport { isSimpleSpread } from './extractHelpers'\nimport { extractMediaStyle } from './extractMediaStyle'\nimport { getPrefixLogs } from './getPrefixLogs'\nimport { hoistClassNames } from './hoistClassNames'\nimport { literalToAst } from './literalToAst'\nimport { logLines } from './logLines'\nimport { timer } from './timer'\n\nconst mergeStyleGroups = {\n shadowOpacity: true,\n shadowRadius: true,\n shadowColor: true,\n shadowOffset: true,\n}\n\nexport type ExtractedResponse = {\n js: string | Buffer\n styles: string\n stylesPath?: string\n ast: t.File\n map: any // RawSourceMap from 'source-map'\n}\n\nexport function extractToClassNames({\n loader,\n extractor,\n source,\n sourcePath,\n options,\n shouldPrintDebug,\n cssLoaderPath,\n threaded,\n cssPath,\n}: {\n loader: LoaderContext<any>\n cssLoaderPath: string\n extractor: Extractor\n source: string | Buffer\n sourcePath: string\n options: TamaguiOptions\n shouldPrintDebug: boolean | 'verbose'\n cssPath: string\n threaded?: boolean\n}): ExtractedResponse | null {\n const tm = timer()\n\n if (typeof source !== 'string') {\n throw new Error('`source` must be a string of javascript')\n }\n invariant(\n typeof sourcePath === 'string' && path.isAbsolute(sourcePath),\n '`sourcePath` must be an absolute path to a .js file'\n )\n\n const shouldLogTiming = options.logTimings ?? true\n const start = Date.now()\n const mem = shouldLogTiming ? process.memoryUsage() : null\n\n // Using a map for (officially supported) guaranteed insertion order\n let ast: t.File\n\n try {\n // @ts-ignore\n ast = babelParse(source)\n } catch (err) {\n console.error('babel parse error:', sourcePath)\n throw err\n }\n\n tm.mark(`babel-parse`, shouldPrintDebug === 'verbose')\n\n const cssMap = new Map<string, { css: string; commentTexts: string[] }>()\n const existingHoists: { [key: string]: t.Identifier } = {}\n\n let hasFlattened = false\n\n const res = extractor.parse(ast, {\n sourcePath,\n shouldPrintDebug,\n ...options,\n getFlattenedNode: ({ tag }) => {\n hasFlattened = true\n return tag\n },\n onExtractTag: ({\n attrs,\n node,\n attemptEval,\n jsxPath,\n originalNodeName,\n filePath,\n lineNumbers,\n programPath,\n isFlattened,\n }) => {\n let finalClassNames: ClassNameObject[] = []\n let finalAttrs: (t.JSXAttribute | t.JSXSpreadAttribute)[] = []\n let finalStyles: StyleObject[] = []\n\n let viewStyles = {}\n for (const attr of attrs) {\n if (attr.type === 'style') {\n viewStyles = {\n ...viewStyles,\n ...attr.value,\n }\n }\n }\n\n const ensureNeededPrevStyle = (style: ViewStyle) => {\n // ensure all group keys are merged\n const keys = Object.keys(style)\n if (!keys.some((key) => mergeStyleGroups[key])) {\n return style\n }\n for (const k in mergeStyleGroups) {\n if (k in viewStyles) {\n style[k] = style[k] ?? viewStyles[k]\n }\n }\n return style\n }\n\n const addStyles = (style: ViewStyle | null): StyleObject[] => {\n if (!style) return []\n const styleWithPrev = ensureNeededPrevStyle(style)\n const res = getStylesAtomic(styleWithPrev)\n if (res.length) {\n finalStyles = [...finalStyles, ...res]\n }\n return res\n }\n\n // 1 to start above any :hover styles\n let lastMediaImportance = 1\n for (const attr of attrs) {\n switch (attr.type) {\n case 'style':\n if (!isFlattened) {\n // only ever one at a time i believe so we can be lazy with this access\n const { hoverStyle, pressStyle, focusStyle } = attr.value\n const pseudos = [\n ['hoverStyle', hoverStyle],\n ['pressStyle', pressStyle],\n ['focusStyle', focusStyle],\n ] as const\n\n const styles = getStylesAtomic(attr.value, {\n splitTransforms: true,\n })\n finalStyles = [...finalStyles, ...styles]\n\n for (const [key, value] of pseudos) {\n if (value && Object.keys(value).length) {\n finalAttrs.push(\n t.jsxAttribute(\n t.jsxIdentifier(key),\n t.jsxExpressionContainer(literalToAst(value))\n )\n )\n }\n }\n\n for (const style of styles) {\n if (style.pseudo) {\n continue\n }\n // leave them as attributes\n finalAttrs.push(\n t.jsxAttribute(t.jsxIdentifier(style.property), t.stringLiteral(style.identifier))\n )\n }\n\n // for (const key in attr.value) {\n // if (pseudos.some((x) => x[0] === key)) {\n // // we handled pseudos above...\n // continue\n // }\n // // leave them as attributes\n // finalAttrs.push(\n // t.jsxAttribute(t.jsxIdentifier(key), t.stringLiteral(attr.value[key]))\n // )\n // }\n } else {\n const styles = addStyles(attr.value)\n const newClassNames = concatClassName(styles.map((x) => x.identifier).join(' '))\n const existing = finalClassNames.find(\n (x) => x.type == 'StringLiteral'\n ) as t.StringLiteral | null\n\n // const newClassNames = concatClassName(Object.values(attr.value))\n // const existing = finalClassNames.find(\n // (x) => x.type == 'StringLiteral'\n // ) as t.StringLiteral | null\n\n if (existing) {\n existing.value = `${existing.value} ${newClassNames}`\n } else {\n finalClassNames = [...finalClassNames, t.stringLiteral(newClassNames)]\n }\n }\n\n break\n case 'attr':\n const val = attr.value\n if (t.isJSXSpreadAttribute(val)) {\n if (isSimpleSpread(val)) {\n finalClassNames.push(\n t.logicalExpression(\n '&&',\n val.argument,\n t.memberExpression(val.argument, t.identifier('className'))\n )\n )\n }\n } else if (val.name.name === 'className') {\n const value = val.value\n if (value) {\n try {\n const evaluatedValue = attemptEval(value)\n finalClassNames.push(t.stringLiteral(evaluatedValue))\n } catch (e) {\n finalClassNames.push(value['expression'])\n }\n }\n continue\n }\n finalAttrs.push(val)\n break\n case 'ternary':\n const mediaExtraction = extractMediaStyle(\n attr.value,\n jsxPath,\n extractor.getTamagui(),\n sourcePath,\n lastMediaImportance,\n shouldPrintDebug\n )\n if (shouldPrintDebug) {\n if (mediaExtraction) {\n // prettier-ignore\n console.log('ternary (mediaStyles)', mediaExtraction.ternaryWithoutMedia?.inlineMediaQuery ?? '', mediaExtraction.mediaStyles.map((x) => x.identifier).join('.'))\n }\n }\n if (!mediaExtraction) {\n addTernaryStyle(\n attr.value,\n addStyles(attr.value.consequent),\n addStyles(attr.value.alternate)\n )\n continue\n }\n lastMediaImportance++\n if (mediaExtraction.mediaStyles) {\n finalStyles = [...finalStyles, ...mediaExtraction.mediaStyles]\n }\n if (mediaExtraction.ternaryWithoutMedia) {\n addTernaryStyle(mediaExtraction.ternaryWithoutMedia, mediaExtraction.mediaStyles, [])\n } else {\n finalClassNames = [\n ...finalClassNames,\n ...mediaExtraction.mediaStyles.map((x) => t.stringLiteral(x.identifier)),\n ]\n }\n break\n }\n }\n\n function addTernaryStyle(ternary: Ternary, a: any, b: any) {\n const cCN = a.map((x) => x.identifier).join(' ')\n const aCN = b.map((x) => x.identifier).join(' ')\n if (a.length && b.length) {\n finalClassNames.push(\n t.conditionalExpression(ternary.test, t.stringLiteral(cCN), t.stringLiteral(aCN))\n )\n } else {\n finalClassNames.push(\n t.conditionalExpression(\n ternary.test,\n t.stringLiteral(' ' + cCN),\n t.stringLiteral(' ' + aCN)\n )\n )\n }\n }\n\n if (shouldPrintDebug) {\n // prettier-ignore\n console.log(' finalClassNames\\n', logLines(finalClassNames.map(x => x['value']).join(' ')))\n }\n\n node.attributes = finalAttrs\n\n if (finalClassNames.length) {\n // inserts the _cn variable and uses it for className\n let names = buildClassName(finalClassNames)\n if (t.isStringLiteral(names)) {\n names.value = concatClassName(names.value)\n }\n const nameExpr = names ? hoistClassNames(jsxPath, existingHoists, names) : null\n let expr = nameExpr\n\n // if has some spreads, use concat helper\n if (nameExpr && !t.isIdentifier(nameExpr)) {\n if (!hasFlattened) {\n // not flat\n } else {\n ensureImportingConcat(programPath)\n const simpleSpreads = attrs.filter(\n (x) => t.isJSXSpreadAttribute(x.value) && isSimpleSpread(x.value)\n )\n expr = t.callExpression(t.identifier(CONCAT_CLASSNAME_IMPORT), [\n expr,\n ...simpleSpreads.map((val) => val.value['argument']),\n ])\n }\n }\n\n node.attributes.push(\n t.jsxAttribute(t.jsxIdentifier('className'), t.jsxExpressionContainer(expr))\n )\n }\n\n const comment = util.format('/* %s:%s (%s) */', filePath, lineNumbers, originalNodeName)\n\n for (const { className, rules, identifier, value } of finalStyles) {\n // console.log('backvalue', identifier, value)\n // ast.program.body.unshift(\n // t.expressionStatement(\n // t.callExpression(\n // t.memberExpression(\n // t.callExpression(t.identifier('require'), [t.stringLiteral('@tamagui/core')]),\n // t.identifier('setIdentifierValue')\n // ),\n // [t.stringLiteral(identifier), t.stringLiteral(value)]\n // )\n // )\n // )\n\n if (cssMap.has(className)) {\n if (comment) {\n const val = cssMap.get(className)!\n val.commentTexts.push(comment)\n cssMap.set(className, val)\n }\n } else if (rules.length) {\n if (rules.length > 1) {\n console.log(' rules error', { rules })\n throw new Error(`Shouldn't have more than one rule`)\n }\n cssMap.set(className, {\n css: rules[0],\n commentTexts: [comment],\n })\n }\n }\n },\n })\n\n if (!res || (!res.modified && !res.optimized && !res.flattened)) {\n if (shouldPrintDebug) {\n console.log('no res or none modified', res)\n }\n return null\n }\n\n const styles = Array.from(cssMap.values())\n .map((x) => x.css)\n .join('\\n')\n .trim()\n\n if (styles) {\n const cssQuery = threaded\n ? `cssData=${Buffer.from(styles).toString('base64')}`\n : `cssPath=${cssPath}`\n const remReq = loader.remainingRequest\n const importPath = `${cssPath}!=!${cssLoaderPath}?${cssQuery}!${remReq}`\n ast.program.body.unshift(t.importDeclaration([], t.stringLiteral(importPath)))\n }\n\n const result = generate(\n ast,\n {\n concise: false,\n filename: sourcePath,\n // this makes the debug output terrible, and i think sourcemap works already\n retainLines: false,\n sourceFileName: sourcePath,\n sourceMaps: true,\n },\n source\n )\n\n if (shouldPrintDebug) {\n console.log(\n '\\n -------- output code ------- \\n\\n',\n result.code\n .split('\\n')\n .filter((x) => !x.startsWith('//'))\n .join('\\n')\n )\n console.log('\\n -------- output style -------- \\n\\n', styles)\n }\n\n if (shouldLogTiming) {\n const memUsed = mem\n ? Math.round(((process.memoryUsage().heapUsed - mem.heapUsed) / 1024 / 1204) * 10) / 10\n : 0\n const path = basename(sourcePath)\n .replace(/\\.[jt]sx?$/, '')\n .slice(0, 22)\n .trim()\n .padStart(24)\n const numOptimized = `${res.optimized}`.padStart(3)\n const numFound = `${res.found}`.padStart(3)\n const numFlattened = `${res.flattened}`.padStart(3)\n const memory = process.env.DEBUG && memUsed > 10 ? ` ${memUsed}MB` : ''\n const timing = Date.now() - start\n const timingWarning = timing > 50 ? '\u26A0\uFE0F' : timing > 150 ? '\u2622\uFE0F' : ''\n const timingStr = `${timing}ms${timingWarning}`.padStart(6)\n console.log(\n `${getPrefixLogs(\n options\n )} ${path} ${numFound} \u00B7 ${numOptimized} \u00B7 ${numFlattened} ${timingStr} ${\n memory ? `(${memory})` : ''\n }`\n )\n }\n\n return {\n ast,\n styles,\n js: result.code,\n map: result.map,\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/literalToAst.ts"],
4
4
  "sourcesContent": ["import * as t from '@babel/types'\n\nexport function literalToAst(literal: any): t.Expression {\n if (literal === null) {\n return t.nullLiteral()\n }\n switch (typeof literal) {\n case 'function':\n throw new Error('Unsupported')\n case 'number':\n return t.numericLiteral(literal)\n case 'string':\n return t.stringLiteral(literal)\n case 'boolean':\n return t.booleanLiteral(literal)\n case 'undefined':\n return t.unaryExpression('void', t.numericLiteral(0), true)\n default:\n if (Array.isArray(literal)) {\n return t.arrayExpression(literal.map(literalToAst))\n }\n return t.objectExpression(\n Object.keys(literal)\n .filter((k) => {\n return typeof literal[k] !== 'undefined'\n })\n .map((k) => {\n return t.objectProperty(t.stringLiteral(k), literalToAst(literal[k]))\n })\n )\n }\n}\n\nconst easyPeasies = ['BooleanLiteral', 'StringLiteral', 'NumericLiteral']\n\nexport function astToLiteral(node: any) {\n if (!node) {\n return\n }\n if (easyPeasies.includes(node.type)) {\n return node.value\n }\n if (node.name === 'undefined' && !node.value) {\n return undefined\n }\n if (t.isNullLiteral(node)) {\n return null\n }\n if (t.isObjectExpression(node)) {\n return computeProps(node.properties)\n }\n if (t.isArrayExpression(node)) {\n return node.elements.reduce(\n // @ts-ignore\n (acc, element) => [\n ...acc,\n ...(element?.type === 'SpreadElement'\n ? astToLiteral(element.argument)\n : [astToLiteral(element)]),\n ],\n []\n )\n }\n}\n\nfunction computeProps(props) {\n return props.reduce((acc, prop) => {\n if (prop.type === 'SpreadElement') {\n return {\n ...acc,\n ...astToLiteral(prop.argument),\n }\n } else if (prop.type !== 'ObjectMethod') {\n const val = astToLiteral(prop.value)\n if (val !== undefined) {\n return {\n ...acc,\n [prop.key.name]: val,\n }\n }\n }\n return acc\n }, {})\n}\n"],
5
- "mappings": ";;AAAA;AAEO,sBAAsB,SAA4B;AACvD,MAAI,YAAY,MAAM;AACpB,WAAO,EAAE,YAAY;AAAA,EACvB;AACA,UAAQ,OAAO;AAAA,SACR;AACH,YAAM,IAAI,MAAM,aAAa;AAAA,SAC1B;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,SAC5B;AACH,aAAO,EAAE,cAAc,OAAO;AAAA,SAC3B;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,SAC5B;AACH,aAAO,EAAE,gBAAgB,QAAQ,EAAE,eAAe,CAAC,GAAG,IAAI;AAAA;AAE1D,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,eAAO,EAAE,gBAAgB,QAAQ,IAAI,YAAY,CAAC;AAAA,MACpD;AACA,aAAO,EAAE,iBACP,OAAO,KAAK,OAAO,EAChB,OAAO,CAAC,MAAM;AACb,eAAO,OAAO,QAAQ,OAAO;AAAA,MAC/B,CAAC,EACA,IAAI,CAAC,MAAM;AACV,eAAO,EAAE,eAAe,EAAE,cAAc,CAAC,GAAG,aAAa,QAAQ,EAAE,CAAC;AAAA,MACtE,CAAC,CACL;AAAA;AAEN;AA7BgB;AA+BhB,MAAM,cAAc,CAAC,kBAAkB,iBAAiB,gBAAgB;AAEjE,sBAAsB,MAAW;AACtC,MAAI,CAAC,MAAM;AACT;AAAA,EACF;AACA,MAAI,YAAY,SAAS,KAAK,IAAI,GAAG;AACnC,WAAO,KAAK;AAAA,EACd;AACA,MAAI,KAAK,SAAS,eAAe,CAAC,KAAK,OAAO;AAC5C,WAAO;AAAA,EACT;AACA,MAAI,EAAE,cAAc,IAAI,GAAG;AACzB,WAAO;AAAA,EACT;AACA,MAAI,EAAE,mBAAmB,IAAI,GAAG;AAC9B,WAAO,aAAa,KAAK,UAAU;AAAA,EACrC;AACA,MAAI,EAAE,kBAAkB,IAAI,GAAG;AAC7B,WAAO,KAAK,SAAS,OAEnB,CAAC,KAAK,YAAY;AAAA,MAChB,GAAG;AAAA,MACH,GAAI,oCAAS,UAAS,kBAClB,aAAa,QAAQ,QAAQ,IAC7B,CAAC,aAAa,OAAO,CAAC;AAAA,IAC5B,GACA,CAAC,CACH;AAAA,EACF;AACF;AA5BgB;AA8BhB,sBAAsB,OAAO;AAC3B,SAAO,MAAM,OAAO,CAAC,KAAK,SAAS;AACjC,QAAI,KAAK,SAAS,iBAAiB;AACjC,aAAO;AAAA,WACF;AAAA,WACA,aAAa,KAAK,QAAQ;AAAA,MAC/B;AAAA,IACF,WAAW,KAAK,SAAS,gBAAgB;AACvC,YAAM,MAAM,aAAa,KAAK,KAAK;AACnC,UAAI,QAAQ,QAAW;AACrB,eAAO;AAAA,aACF;AAAA,WACF,KAAK,IAAI,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAlBS;",
5
+ "mappings": ";;AAAA;AAEO,sBAAsB,SAA4B;AACvD,MAAI,YAAY,MAAM;AACpB,WAAO,EAAE,YAAY;AAAA,EACvB;AACA,UAAQ,OAAO;AAAA,SACR;AACH,YAAM,IAAI,MAAM,aAAa;AAAA,SAC1B;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,SAC5B;AACH,aAAO,EAAE,cAAc,OAAO;AAAA,SAC3B;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,SAC5B;AACH,aAAO,EAAE,gBAAgB,QAAQ,EAAE,eAAe,CAAC,GAAG,IAAI;AAAA;AAE1D,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,eAAO,EAAE,gBAAgB,QAAQ,IAAI,YAAY,CAAC;AAAA,MACpD;AACA,aAAO,EAAE,iBACP,OAAO,KAAK,OAAO,EAChB,OAAO,CAAC,MAAM;AACb,eAAO,OAAO,QAAQ,OAAO;AAAA,MAC/B,CAAC,EACA,IAAI,CAAC,MAAM;AACV,eAAO,EAAE,eAAe,EAAE,cAAc,CAAC,GAAG,aAAa,QAAQ,EAAE,CAAC;AAAA,MACtE,CAAC,CACL;AAAA;AAEN;AA7BgB;AA+BhB,MAAM,cAAc,CAAC,kBAAkB,iBAAiB,gBAAgB;AAEjE,sBAAsB,MAAW;AACtC,MAAI,CAAC,MAAM;AACT;AAAA,EACF;AACA,MAAI,YAAY,SAAS,KAAK,IAAI,GAAG;AACnC,WAAO,KAAK;AAAA,EACd;AACA,MAAI,KAAK,SAAS,eAAe,CAAC,KAAK,OAAO;AAC5C,WAAO;AAAA,EACT;AACA,MAAI,EAAE,cAAc,IAAI,GAAG;AACzB,WAAO;AAAA,EACT;AACA,MAAI,EAAE,mBAAmB,IAAI,GAAG;AAC9B,WAAO,aAAa,KAAK,UAAU;AAAA,EACrC;AACA,MAAI,EAAE,kBAAkB,IAAI,GAAG;AAC7B,WAAO,KAAK,SAAS,OAEnB,CAAC,KAAK,YAAY;AAAA,MAChB,GAAG;AAAA,MACH,GAAI,oCAAS,UAAS,kBAClB,aAAa,QAAQ,QAAQ,IAC7B,CAAC,aAAa,OAAO,CAAC;AAAA,IAC5B,GACA,CAAC,CACH;AAAA,EACF;AACF;AA5BgB;AA8BhB,sBAAsB,OAAO;AAC3B,SAAO,MAAM,OAAO,CAAC,KAAK,SAAS;AACjC,QAAI,KAAK,SAAS,iBAAiB;AACjC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG,aAAa,KAAK,QAAQ;AAAA,MAC/B;AAAA,IACF,WAAW,KAAK,SAAS,gBAAgB;AACvC,YAAM,MAAM,aAAa,KAAK,KAAK;AACnC,UAAI,QAAQ,QAAW;AACrB,eAAO;AAAA,UACL,GAAG;AAAA,UACH,CAAC,KAAK,IAAI,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAlBS;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/loadTamagui.ts"],
4
4
  "sourcesContent": ["import { join } from 'path'\n\nimport type { TamaguiComponent, TamaguiInternalConfig } from '@tamagui/core'\nimport { createTamagui } from '@tamagui/core-node'\n\nlet loadedTamagui: any = null\n\nexport function loadTamagui(props: { components: string[]; config: string }): {\n components: Record<string, TamaguiComponent>\n tamaguiConfig: TamaguiInternalConfig\n} {\n if (loadedTamagui) {\n return loadedTamagui\n }\n\n const configPath = join(process.cwd(), props.config)\n\n // threaded caching avoiding 1s loading of large configs every save\n // const cachePath = join(cacheDir, 'tamagui-conf-cached.json')\n // const confStat = statSync(configPath)\n\n // // TODO may want to disable, its pretty optimistic at caching...\n // try {\n // const confCache = readFileSync(cachePath, 'utf-8')\n // const confParsed = JSON.parse(confCache)\n // if (confParsed && confParsed.mtime === confStat.mtime) {\n // return confParsed.value\n // }\n // } catch {\n // // ok, no cache\n // }\n\n const { unregister } = require('esbuild-register/dist/node').register({\n target: 'es2019',\n format: 'cjs',\n })\n\n try {\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n // @ts-ignore\n if (typeof globalThis['__DEV__'] === 'undefined') {\n // @ts-ignore\n globalThis['__DEV__'] = process.env.NODE_ENV === 'development'\n }\n\n const proxyWorm = require('@tamagui/proxy-worm')\n const rnw = require('react-native-web')\n const Mod = require('module')\n const og = Mod.prototype.require\n Mod.prototype.require = function (path: string) {\n if (path.endsWith('.css')) {\n return {}\n }\n if (\n path === '@gorhom/bottom-sheet' ||\n path.startsWith('react-native-reanimated') ||\n path === 'expo-linear-gradient'\n ) {\n return proxyWorm\n }\n if (\n path.startsWith('react-native') &&\n // allow our rnw.tsx imports through\n !path.startsWith('react-native-web/dist/cjs/exports')\n ) {\n return rnw\n }\n try {\n return og.apply(this, arguments)\n } catch (err: any) {\n console.error('Tamagui error loading file:\\n')\n console.log(' ', path, '\\n')\n console.log(err.message)\n console.log(err.stack)\n // avoid infinite loops\n process.exit(1)\n }\n }\n\n // import config\n const exp = require(configPath)\n const tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n try {\n const confPath = require.resolve(configPath)\n console.log(`Received:`, tamaguiConfig)\n throw new Error(`Can't find valid config in ${confPath}`)\n } catch (err) {\n throw err\n }\n }\n\n // import components\n const components = {}\n for (const moduleName of props.components) {\n const exported = require(moduleName)\n for (const Name in exported) {\n const val = exported[Name]\n const staticConfig = val?.staticConfig\n if (staticConfig) {\n Object.assign(components, { [Name]: { staticConfig } })\n }\n }\n }\n\n // undo shims\n process.env.IS_STATIC = undefined\n Mod.prototype.require = og\n\n // set up core-node\n createTamagui(tamaguiConfig as any)\n\n loadedTamagui = {\n components,\n tamaguiConfig,\n }\n\n // save cache\n // try {\n // writeFileSync(\n // cachePath,\n // JSON.stringify({\n // value: loadedTamagui,\n // mtime: confStat.mtime,\n // })\n // )\n // } catch (err: any) {\n // console.log(`Error: tamagui config not stringifiable, caching disabled \"${err.message}\"`)\n // }\n\n return loadedTamagui\n } catch (err) {\n throw err\n } finally {\n unregister()\n }\n}\n"],
5
- "mappings": ";;AAAA;AAGA;AAEA,IAAI,gBAAqB;AAElB,qBAAqB,OAG1B;AACA,MAAI,eAAe;AACjB,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,KAAK,QAAQ,IAAI,GAAG,MAAM,MAAM;AAiBnD,QAAM,EAAE,eAAe,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAED,MAAI;AAGF,YAAQ,IAAI,YAAY;AAExB,QAAI,OAAO,WAAW,eAAe,aAAa;AAEhD,iBAAW,aAAa,QAAQ,IAAI,aAAa;AAAA,IACnD;AAEA,UAAM,YAAY,QAAQ,qBAAqB;AAC/C,UAAM,MAAM,QAAQ,kBAAkB;AACtC,UAAM,MAAM,QAAQ,QAAQ;AAC5B,UAAM,KAAK,IAAI,UAAU;AACzB,QAAI,UAAU,UAAU,SAAU,MAAc;AAC9C,UAAI,KAAK,SAAS,MAAM,GAAG;AACzB,eAAO,CAAC;AAAA,MACV;AACA,UACE,SAAS,0BACT,KAAK,WAAW,yBAAyB,KACzC,SAAS,wBACT;AACA,eAAO;AAAA,MACT;AACA,UACE,KAAK,WAAW,cAAc,KAE9B,CAAC,KAAK,WAAW,mCAAmC,GACpD;AACA,eAAO;AAAA,MACT;AACA,UAAI;AACF,eAAO,GAAG,MAAM,MAAM,SAAS;AAAA,MACjC,SAAS,KAAP;AACA,gBAAQ,MAAM,+BAA+B;AAC7C,gBAAQ,IAAI,OAAO,MAAM,IAAI;AAC7B,gBAAQ,IAAI,IAAI,OAAO;AACvB,gBAAQ,IAAI,IAAI,KAAK;AAErB,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF;AAGA,UAAM,MAAM,QAAQ,UAAU;AAC9B,UAAM,gBAAiB,IAAI,cAAc;AAEzC,QAAI,CAAC,iBAAiB,CAAC,cAAc,QAAQ;AAC3C,UAAI;AACF,cAAM,WAA2B,AAAhB,QAAQ,QAAQ;AACjC,gBAAQ,IAAI,aAAa,aAAa;AACtC,cAAM,IAAI,MAAM,8BAA8B,UAAU;AAAA,MAC1D,SAAS,KAAP;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAGA,UAAM,aAAa,CAAC;AACpB,eAAW,cAAc,MAAM,YAAY;AACzC,YAAM,WAAW,QAAQ,UAAU;AACnC,iBAAW,QAAQ,UAAU;AAC3B,cAAM,MAAM,SAAS;AACrB,cAAM,eAAe,2BAAK;AAC1B,YAAI,cAAc;AAChB,iBAAO,OAAO,YAAY,GAAG,OAAO,EAAE,aAAa,EAAE,CAAC;AAAA,QACxD;AAAA,MACF;AAAA,IACF;AAGA,YAAQ,IAAI,YAAY;AACxB,QAAI,UAAU,UAAU;AAGxB,kBAAc,aAAoB;AAElC,oBAAgB;AAAA,MACd;AAAA,MACA;AAAA,IACF;AAeA,WAAO;AAAA,EACT,SAAS,KAAP;AACA,UAAM;AAAA,EACR,UAAE;AACA,eAAW;AAAA,EACb;AACF;AApIgB;",
5
+ "mappings": ";;AAAA;AAGA;AAEA,IAAI,gBAAqB;AAElB,qBAAqB,OAG1B;AACA,MAAI,eAAe;AACjB,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,KAAK,QAAQ,IAAI,GAAG,MAAM,MAAM;AAiBnD,QAAM,EAAE,eAAe,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAED,MAAI;AAGF,YAAQ,IAAI,YAAY;AAExB,QAAI,OAAO,WAAW,eAAe,aAAa;AAEhD,iBAAW,aAAa,QAAQ,IAAI,aAAa;AAAA,IACnD;AAEA,UAAM,YAAY,QAAQ,qBAAqB;AAC/C,UAAM,MAAM,QAAQ,kBAAkB;AACtC,UAAM,MAAM,QAAQ,QAAQ;AAC5B,UAAM,KAAK,IAAI,UAAU;AACzB,QAAI,UAAU,UAAU,SAAU,MAAc;AAC9C,UAAI,KAAK,SAAS,MAAM,GAAG;AACzB,eAAO,CAAC;AAAA,MACV;AACA,UACE,SAAS,0BACT,KAAK,WAAW,yBAAyB,KACzC,SAAS,wBACT;AACA,eAAO;AAAA,MACT;AACA,UACE,KAAK,WAAW,cAAc,KAE9B,CAAC,KAAK,WAAW,mCAAmC,GACpD;AACA,eAAO;AAAA,MACT;AACA,UAAI;AACF,eAAO,GAAG,MAAM,MAAM,SAAS;AAAA,MACjC,SAAS,KAAP;AACA,gBAAQ,MAAM,+BAA+B;AAC7C,gBAAQ,IAAI,OAAO,MAAM,IAAI;AAC7B,gBAAQ,IAAI,IAAI,OAAO;AACvB,gBAAQ,IAAI,IAAI,KAAK;AAErB,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF;AAGA,UAAM,MAAM,QAAQ,UAAU;AAC9B,UAAM,gBAAiB,IAAI,cAAc;AAEzC,QAAI,CAAC,iBAAiB,CAAC,cAAc,QAAQ;AAC3C,UAAI;AACF,cAAM,WAA2B,AAAhB,QAAQ,QAAQ;AACjC,gBAAQ,IAAI,aAAa,aAAa;AACtC,cAAM,IAAI,MAAM,8BAA8B,UAAU;AAAA,MAC1D,SAAS,KAAP;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAGA,UAAM,aAAa,CAAC;AACpB,eAAW,cAAc,MAAM,YAAY;AACzC,YAAM,WAAW,QAAQ,UAAU;AACnC,iBAAW,QAAQ,UAAU;AAC3B,cAAM,MAAM,SAAS;AACrB,cAAM,eAAe,2BAAK;AAC1B,YAAI,cAAc;AAChB,iBAAO,OAAO,YAAY,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;AAAA,QACxD;AAAA,MACF;AAAA,IACF;AAGA,YAAQ,IAAI,YAAY;AACxB,QAAI,UAAU,UAAU;AAGxB,kBAAc,aAAoB;AAElC,oBAAgB;AAAA,MACd;AAAA,MACA;AAAA,IACF;AAeA,WAAO;AAAA,EACT,SAAS,KAAP;AACA,UAAM;AAAA,EACR,UAAE;AACA,eAAW;AAAA,EACb;AACF;AApIgB;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/extractor/normalizeTernaries.ts"],
4
4
  "sourcesContent": ["import generate from '@babel/generator'\nimport * as t from '@babel/types'\nimport invariant from 'invariant'\n\nimport { Ternary } from '../types'\n\nexport function normalizeTernaries(ternaries: Ternary[]) {\n invariant(\n Array.isArray(ternaries),\n 'extractStaticTernaries expects param 1 to be an array of ternaries'\n )\n\n if (ternaries.length === 0) {\n return []\n }\n\n const ternariesByKey: { [key: string]: Ternary } = {}\n\n for (let idx = -1, len = ternaries.length; ++idx < len; ) {\n const { test, consequent, alternate, remove, ...rest } = ternaries[idx]\n\n let ternaryTest = test\n\n // strip parens\n if (t.isExpressionStatement(test)) {\n ternaryTest = (test as any).expression\n }\n\n // convert `!thing` to `thing` with swapped consequent and alternate\n let shouldSwap = false\n if (t.isUnaryExpression(test) && test.operator === '!') {\n ternaryTest = test.argument\n shouldSwap = true\n } else if (t.isBinaryExpression(test)) {\n if (test.operator === '!==' || test.operator === '!=') {\n ternaryTest = t.binaryExpression(test.operator, test.left, test.right)\n shouldSwap = true\n }\n }\n\n const key = generate(ternaryTest).code\n\n if (!ternariesByKey[key]) {\n ternariesByKey[key] = {\n ...rest,\n alternate: {},\n consequent: {},\n test: ternaryTest,\n remove,\n }\n }\n const altStyle = (shouldSwap ? consequent : alternate) ?? {}\n const consStyle = (shouldSwap ? alternate : consequent) ?? {}\n Object.assign(ternariesByKey[key].alternate!, altStyle)\n Object.assign(ternariesByKey[key].consequent!, consStyle)\n }\n\n const ternaryExpression = Object.keys(ternariesByKey).map((key) => {\n return ternariesByKey[key]\n })\n\n return ternaryExpression\n}\n"],
5
- "mappings": ";;AAAA;AACA;AACA;AAIO,4BAA4B,WAAsB;AANzD;AAOE,YACE,MAAM,QAAQ,SAAS,GACvB,oEACF;AAEA,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,iBAA6C,CAAC;AAEpD,WAAS,MAAM,IAAI,MAAM,UAAU,QAAQ,EAAE,MAAM,OAAO;AACxD,UAAM,EAAE,MAAM,YAAY,WAAW,WAAW,SAAS,UAAU;AAEnE,QAAI,cAAc;AAGlB,QAAI,EAAE,sBAAsB,IAAI,GAAG;AACjC,oBAAe,KAAa;AAAA,IAC9B;AAGA,QAAI,aAAa;AACjB,QAAI,EAAE,kBAAkB,IAAI,KAAK,KAAK,aAAa,KAAK;AACtD,oBAAc,KAAK;AACnB,mBAAa;AAAA,IACf,WAAW,EAAE,mBAAmB,IAAI,GAAG;AACrC,UAAI,KAAK,aAAa,SAAS,KAAK,aAAa,MAAM;AACrD,sBAAc,EAAE,iBAAiB,KAAK,UAAU,KAAK,MAAM,KAAK,KAAK;AACrE,qBAAa;AAAA,MACf;AAAA,IACF;AAEA,UAAM,MAAM,SAAS,WAAW,EAAE;AAElC,QAAI,CAAC,eAAe,MAAM;AACxB,qBAAe,OAAO;AAAA,WACjB;AAAA,QACH,WAAW,CAAC;AAAA,QACZ,YAAY,CAAC;AAAA,QACb,MAAM;AAAA,QACN;AAAA,MACF;AAAA,IACF;AACA,UAAM,WAAY,mBAAa,aAAa,cAA1B,YAAwC,CAAC;AAC3D,UAAM,YAAa,mBAAa,YAAY,eAAzB,YAAwC,CAAC;AAC5D,WAAO,OAAO,eAAe,KAAK,WAAY,QAAQ;AACtD,WAAO,OAAO,eAAe,KAAK,YAAa,SAAS;AAAA,EAC1D;AAEA,QAAM,oBAAoB,OAAO,KAAK,cAAc,EAAE,IAAI,CAAC,QAAQ;AACjE,WAAO,eAAe;AAAA,EACxB,CAAC;AAED,SAAO;AACT;AAxDgB;",
5
+ "mappings": ";;AAAA;AACA;AACA;AAIO,4BAA4B,WAAsB;AANzD;AAOE,YACE,MAAM,QAAQ,SAAS,GACvB,oEACF;AAEA,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,iBAA6C,CAAC;AAEpD,WAAS,MAAM,IAAI,MAAM,UAAU,QAAQ,EAAE,MAAM,OAAO;AACxD,UAAM,EAAE,MAAM,YAAY,WAAW,WAAW,SAAS,UAAU;AAEnE,QAAI,cAAc;AAGlB,QAAI,EAAE,sBAAsB,IAAI,GAAG;AACjC,oBAAe,KAAa;AAAA,IAC9B;AAGA,QAAI,aAAa;AACjB,QAAI,EAAE,kBAAkB,IAAI,KAAK,KAAK,aAAa,KAAK;AACtD,oBAAc,KAAK;AACnB,mBAAa;AAAA,IACf,WAAW,EAAE,mBAAmB,IAAI,GAAG;AACrC,UAAI,KAAK,aAAa,SAAS,KAAK,aAAa,MAAM;AACrD,sBAAc,EAAE,iBAAiB,KAAK,UAAU,KAAK,MAAM,KAAK,KAAK;AACrE,qBAAa;AAAA,MACf;AAAA,IACF;AAEA,UAAM,MAAM,SAAS,WAAW,EAAE;AAElC,QAAI,CAAC,eAAe,MAAM;AACxB,qBAAe,OAAO;AAAA,QACpB,GAAG;AAAA,QACH,WAAW,CAAC;AAAA,QACZ,YAAY,CAAC;AAAA,QACb,MAAM;AAAA,QACN;AAAA,MACF;AAAA,IACF;AACA,UAAM,WAAY,mBAAa,aAAa,cAA1B,YAAwC,CAAC;AAC3D,UAAM,YAAa,mBAAa,YAAY,eAAzB,YAAwC,CAAC;AAC5D,WAAO,OAAO,eAAe,KAAK,WAAY,QAAQ;AACtD,WAAO,OAAO,eAAe,KAAK,YAAa,SAAS;AAAA,EAC1D;AAEA,QAAM,oBAAoB,OAAO,KAAK,cAAc,EAAE,IAAI,CAAC,QAAQ;AACjE,WAAO,eAAe;AAAA,EACxB,CAAC;AAED,SAAO;AACT;AAxDgB;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/static",
3
- "version": "1.0.1-beta.43",
3
+ "version": "1.0.1-beta.44",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -34,11 +34,11 @@
34
34
  "@babel/parser": "^7.15.7",
35
35
  "@babel/traverse": "^7.15.4",
36
36
  "@expo/match-media": "^0.3.0",
37
- "@tamagui/build": "^1.0.1-beta.43",
38
- "@tamagui/core-node": "^1.0.1-beta.43",
39
- "@tamagui/fake-react-native": "^1.0.1-beta.43",
40
- "@tamagui/helpers": "^1.0.1-beta.43",
41
- "@tamagui/proxy-worm": "^1.0.1-beta.43",
37
+ "@tamagui/build": "^1.0.1-beta.44",
38
+ "@tamagui/core-node": "^1.0.1-beta.44",
39
+ "@tamagui/fake-react-native": "^1.0.1-beta.44",
40
+ "@tamagui/helpers": "^1.0.1-beta.44",
41
+ "@tamagui/proxy-worm": "^1.0.1-beta.44",
42
42
  "babel-literal-to-ast": "^2.1.0",
43
43
  "esbuild": "^0.14.36",
44
44
  "esbuild-register": "^3.3.2",
@@ -46,7 +46,7 @@
46
46
  "fs-extra": "^9.1.0",
47
47
  "invariant": "^2.2.4",
48
48
  "lodash": "^4.17.21",
49
- "tamagui": "^1.0.1-beta.43"
49
+ "tamagui": "^1.0.1-beta.44"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@babel/plugin-syntax-typescript": "^7.14.5",
@@ -67,7 +67,7 @@
67
67
  "react-native-web": "^0.17.5",
68
68
  "react-test-renderer": "^18.1.0",
69
69
  "style-loader": "^3.3.0",
70
- "typescript": "^4.5.2",
70
+ "typescript": "^4.7.2",
71
71
  "webpack": "^5.72.0"
72
72
  },
73
73
  "peerDependencies": {