@tamagui/static 1.111.8 → 1.111.9

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.
Files changed (185) hide show
  1. package/dist/esm/checkDeps.native.js +3 -6
  2. package/dist/esm/checkDeps.native.js.map +1 -6
  3. package/dist/esm/constants.native.js +11 -12
  4. package/dist/esm/constants.native.js.map +1 -6
  5. package/dist/esm/exports.native.js +16 -19
  6. package/dist/esm/exports.native.js.map +1 -6
  7. package/dist/esm/extractor/accessSafe.native.js +9 -16
  8. package/dist/esm/extractor/accessSafe.native.js.map +1 -6
  9. package/dist/esm/extractor/babelParse.native.js +8 -22
  10. package/dist/esm/extractor/babelParse.native.js.map +1 -6
  11. package/dist/esm/extractor/buildClassName.native.js +26 -34
  12. package/dist/esm/extractor/buildClassName.native.js.map +1 -6
  13. package/dist/esm/extractor/bundle.native.js +74 -82
  14. package/dist/esm/extractor/bundle.native.js.map +1 -6
  15. package/dist/esm/extractor/bundleConfig.native.js +110 -123
  16. package/dist/esm/extractor/bundleConfig.native.js.map +1 -6
  17. package/dist/esm/extractor/createEvaluator.native.js +22 -17
  18. package/dist/esm/extractor/createEvaluator.native.js.map +1 -6
  19. package/dist/esm/extractor/createExtractor.native.js +678 -819
  20. package/dist/esm/extractor/createExtractor.native.js.map +1 -6
  21. package/dist/esm/extractor/createLogger.native.js +18 -8
  22. package/dist/esm/extractor/createLogger.native.js.map +1 -6
  23. package/dist/esm/extractor/ensureImportingConcat.native.js +12 -13
  24. package/dist/esm/extractor/ensureImportingConcat.native.js.map +1 -6
  25. package/dist/esm/extractor/esbuildAliasPlugin.native.js +7 -9
  26. package/dist/esm/extractor/esbuildAliasPlugin.native.js.map +1 -6
  27. package/dist/esm/extractor/evaluateAstNode.native.js +23 -43
  28. package/dist/esm/extractor/evaluateAstNode.native.js.map +1 -6
  29. package/dist/esm/extractor/extractHelpers.native.js +73 -96
  30. package/dist/esm/extractor/extractHelpers.native.js.map +1 -6
  31. package/dist/esm/extractor/extractMediaStyle.native.js +75 -61
  32. package/dist/esm/extractor/extractMediaStyle.native.js.map +1 -6
  33. package/dist/esm/extractor/extractToClassNames.native.js +260 -236
  34. package/dist/esm/extractor/extractToClassNames.native.js.map +1 -6
  35. package/dist/esm/extractor/extractToNative.native.js +129 -133
  36. package/dist/esm/extractor/extractToNative.native.js.map +1 -6
  37. package/dist/esm/extractor/findTopmostFunction.native.js +6 -11
  38. package/dist/esm/extractor/findTopmostFunction.native.js.map +1 -6
  39. package/dist/esm/extractor/generateTamaguiStudioConfig.native.js +64 -49
  40. package/dist/esm/extractor/generateTamaguiStudioConfig.native.js.map +1 -6
  41. package/dist/esm/extractor/generatedUid.native.js +5 -8
  42. package/dist/esm/extractor/generatedUid.native.js.map +1 -6
  43. package/dist/esm/extractor/getPrefixLogs.native.js +2 -4
  44. package/dist/esm/extractor/getPrefixLogs.native.js.map +1 -6
  45. package/dist/esm/extractor/getPropValueFromAttributes.native.js +18 -24
  46. package/dist/esm/extractor/getPropValueFromAttributes.native.js.map +1 -6
  47. package/dist/esm/extractor/getSourceModule.native.js +22 -27
  48. package/dist/esm/extractor/getSourceModule.native.js.map +1 -6
  49. package/dist/esm/extractor/getStaticBindingsForScope.native.js +92 -90
  50. package/dist/esm/extractor/getStaticBindingsForScope.native.js.map +1 -6
  51. package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.native.js +2 -4
  52. package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.native.js.map +1 -6
  53. package/dist/esm/extractor/hoistClassNames.native.js +13 -20
  54. package/dist/esm/extractor/hoistClassNames.native.js.map +1 -6
  55. package/dist/esm/extractor/literalToAst.native.js +23 -44
  56. package/dist/esm/extractor/literalToAst.native.js.map +1 -6
  57. package/dist/esm/extractor/loadFile.native.js +7 -7
  58. package/dist/esm/extractor/loadFile.native.js.map +1 -6
  59. package/dist/esm/extractor/loadTamagui.native.js +115 -107
  60. package/dist/esm/extractor/loadTamagui.native.js.map +1 -6
  61. package/dist/esm/extractor/logLines.native.js +26 -27
  62. package/dist/esm/extractor/logLines.native.js.map +1 -6
  63. package/dist/esm/extractor/normalizeTernaries.native.js +17 -10
  64. package/dist/esm/extractor/normalizeTernaries.native.js.map +1 -6
  65. package/dist/esm/extractor/propsToFontFamilyCache.native.js +4 -9
  66. package/dist/esm/extractor/propsToFontFamilyCache.native.js.map +1 -6
  67. package/dist/esm/extractor/removeUnusedHooks.native.js +56 -56
  68. package/dist/esm/extractor/removeUnusedHooks.native.js.map +1 -6
  69. package/dist/esm/extractor/timer.native.js +7 -8
  70. package/dist/esm/extractor/timer.native.js.map +1 -6
  71. package/dist/esm/extractor/validHTMLAttributes.native.js +2 -4
  72. package/dist/esm/extractor/validHTMLAttributes.native.js.map +1 -6
  73. package/dist/esm/extractor/watchTamaguiConfig.native.js +19 -22
  74. package/dist/esm/extractor/watchTamaguiConfig.native.js.map +1 -6
  75. package/dist/esm/getPragmaOptions.native.js +18 -8
  76. package/dist/esm/getPragmaOptions.native.js.map +1 -6
  77. package/dist/esm/helpers/memoize.native.js +8 -12
  78. package/dist/esm/helpers/memoize.native.js.map +1 -6
  79. package/dist/esm/helpers/requireTamaguiCore.native.js +8 -8
  80. package/dist/esm/helpers/requireTamaguiCore.native.js.map +1 -6
  81. package/dist/esm/index.native.js +4 -6
  82. package/dist/esm/index.native.js.map +1 -6
  83. package/dist/esm/minifyCSS.native.js +6 -5
  84. package/dist/esm/minifyCSS.native.js.map +1 -6
  85. package/dist/esm/registerRequire.native.js +56 -62
  86. package/dist/esm/registerRequire.native.js.map +1 -6
  87. package/dist/esm/server.native.js +19 -16
  88. package/dist/esm/server.native.js.map +1 -6
  89. package/dist/esm/setup.native.js +2 -1
  90. package/dist/esm/setup.native.js.map +1 -6
  91. package/dist/esm/types.native.js +2 -1
  92. package/dist/esm/types.native.js.map +1 -6
  93. package/package.json +15 -15
  94. package/dist/esm/checkDeps.native.mjs +0 -10
  95. package/dist/esm/checkDeps.native.mjs.map +0 -1
  96. package/dist/esm/constants.native.mjs +0 -12
  97. package/dist/esm/constants.native.mjs.map +0 -1
  98. package/dist/esm/exports.native.mjs +0 -16
  99. package/dist/esm/exports.native.mjs.map +0 -1
  100. package/dist/esm/extractor/accessSafe.native.mjs +0 -12
  101. package/dist/esm/extractor/accessSafe.native.mjs.map +0 -1
  102. package/dist/esm/extractor/babelParse.native.mjs +0 -19
  103. package/dist/esm/extractor/babelParse.native.mjs.map +0 -1
  104. package/dist/esm/extractor/buildClassName.native.mjs +0 -30
  105. package/dist/esm/extractor/buildClassName.native.mjs.map +0 -1
  106. package/dist/esm/extractor/bundle.native.mjs +0 -132
  107. package/dist/esm/extractor/bundle.native.mjs.map +0 -1
  108. package/dist/esm/extractor/bundleConfig.native.mjs +0 -322
  109. package/dist/esm/extractor/bundleConfig.native.mjs.map +0 -1
  110. package/dist/esm/extractor/createEvaluator.native.mjs +0 -38
  111. package/dist/esm/extractor/createEvaluator.native.mjs.map +0 -1
  112. package/dist/esm/extractor/createExtractor.native.mjs +0 -1140
  113. package/dist/esm/extractor/createExtractor.native.mjs.map +0 -1
  114. package/dist/esm/extractor/createLogger.native.mjs +0 -25
  115. package/dist/esm/extractor/createLogger.native.mjs.map +0 -1
  116. package/dist/esm/extractor/ensureImportingConcat.native.mjs +0 -20
  117. package/dist/esm/extractor/ensureImportingConcat.native.mjs.map +0 -1
  118. package/dist/esm/extractor/esbuildAliasPlugin.native.mjs +0 -29
  119. package/dist/esm/extractor/esbuildAliasPlugin.native.mjs.map +0 -1
  120. package/dist/esm/extractor/evaluateAstNode.native.mjs +0 -49
  121. package/dist/esm/extractor/evaluateAstNode.native.mjs.map +0 -1
  122. package/dist/esm/extractor/extractHelpers.native.mjs +0 -122
  123. package/dist/esm/extractor/extractHelpers.native.mjs.map +0 -1
  124. package/dist/esm/extractor/extractMediaStyle.native.mjs +0 -125
  125. package/dist/esm/extractor/extractMediaStyle.native.mjs.map +0 -1
  126. package/dist/esm/extractor/extractToClassNames.native.mjs +0 -315
  127. package/dist/esm/extractor/extractToClassNames.native.mjs.map +0 -1
  128. package/dist/esm/extractor/extractToNative.native.mjs +0 -268
  129. package/dist/esm/extractor/extractToNative.native.mjs.map +0 -1
  130. package/dist/esm/extractor/findTopmostFunction.native.mjs +0 -11
  131. package/dist/esm/extractor/findTopmostFunction.native.mjs.map +0 -1
  132. package/dist/esm/extractor/generateTamaguiStudioConfig.native.mjs +0 -139
  133. package/dist/esm/extractor/generateTamaguiStudioConfig.native.mjs.map +0 -1
  134. package/dist/esm/extractor/generatedUid.native.mjs +0 -13
  135. package/dist/esm/extractor/generatedUid.native.mjs.map +0 -1
  136. package/dist/esm/extractor/getPrefixLogs.native.mjs +0 -6
  137. package/dist/esm/extractor/getPrefixLogs.native.mjs.map +0 -1
  138. package/dist/esm/extractor/getPropValueFromAttributes.native.mjs +0 -35
  139. package/dist/esm/extractor/getPropValueFromAttributes.native.mjs.map +0 -1
  140. package/dist/esm/extractor/getSourceModule.native.mjs +0 -50
  141. package/dist/esm/extractor/getSourceModule.native.mjs.map +0 -1
  142. package/dist/esm/extractor/getStaticBindingsForScope.native.mjs +0 -159
  143. package/dist/esm/extractor/getStaticBindingsForScope.native.mjs.map +0 -1
  144. package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.native.mjs +0 -6
  145. package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.native.mjs.map +0 -1
  146. package/dist/esm/extractor/hoistClassNames.native.mjs +0 -30
  147. package/dist/esm/extractor/hoistClassNames.native.mjs.map +0 -1
  148. package/dist/esm/extractor/literalToAst.native.mjs +0 -55
  149. package/dist/esm/extractor/literalToAst.native.mjs.map +0 -1
  150. package/dist/esm/extractor/loadFile.native.mjs +0 -20
  151. package/dist/esm/extractor/loadFile.native.mjs.map +0 -1
  152. package/dist/esm/extractor/loadTamagui.native.mjs +0 -284
  153. package/dist/esm/extractor/loadTamagui.native.mjs.map +0 -1
  154. package/dist/esm/extractor/logLines.native.mjs +0 -31
  155. package/dist/esm/extractor/logLines.native.mjs.map +0 -1
  156. package/dist/esm/extractor/normalizeTernaries.native.mjs +0 -38
  157. package/dist/esm/extractor/normalizeTernaries.native.mjs.map +0 -1
  158. package/dist/esm/extractor/propsToFontFamilyCache.native.mjs +0 -13
  159. package/dist/esm/extractor/propsToFontFamilyCache.native.mjs.map +0 -1
  160. package/dist/esm/extractor/removeUnusedHooks.native.mjs +0 -83
  161. package/dist/esm/extractor/removeUnusedHooks.native.mjs.map +0 -1
  162. package/dist/esm/extractor/timer.native.mjs +0 -22
  163. package/dist/esm/extractor/timer.native.mjs.map +0 -1
  164. package/dist/esm/extractor/validHTMLAttributes.native.mjs +0 -50
  165. package/dist/esm/extractor/validHTMLAttributes.native.mjs.map +0 -1
  166. package/dist/esm/extractor/watchTamaguiConfig.native.mjs +0 -33
  167. package/dist/esm/extractor/watchTamaguiConfig.native.mjs.map +0 -1
  168. package/dist/esm/getPragmaOptions.native.mjs +0 -51
  169. package/dist/esm/getPragmaOptions.native.mjs.map +0 -1
  170. package/dist/esm/helpers/memoize.native.mjs +0 -15
  171. package/dist/esm/helpers/memoize.native.mjs.map +0 -1
  172. package/dist/esm/helpers/requireTamaguiCore.native.mjs +0 -13
  173. package/dist/esm/helpers/requireTamaguiCore.native.mjs.map +0 -1
  174. package/dist/esm/index.native.mjs +0 -5
  175. package/dist/esm/index.native.mjs.map +0 -1
  176. package/dist/esm/minifyCSS.native.mjs +0 -16
  177. package/dist/esm/minifyCSS.native.mjs.map +0 -1
  178. package/dist/esm/registerRequire.native.mjs +0 -86
  179. package/dist/esm/registerRequire.native.mjs.map +0 -1
  180. package/dist/esm/server.native.mjs +0 -44
  181. package/dist/esm/server.native.mjs.map +0 -1
  182. package/dist/esm/setup.native.mjs +0 -2
  183. package/dist/esm/setup.native.mjs.map +0 -1
  184. package/dist/esm/types.native.mjs +0 -2
  185. package/dist/esm/types.native.mjs.map +0 -1
@@ -1,315 +0,0 @@
1
- import * as path from "node:path";
2
- import * as util from "node:util";
3
- import generate from "@babel/generator";
4
- import * as t from "@babel/types";
5
- import * as helpers from "@tamagui/helpers";
6
- import { requireTamaguiCore } from "../helpers/requireTamaguiCore.native.mjs";
7
- import { babelParse } from "./babelParse.native.mjs";
8
- import { buildClassName } from "./buildClassName.native.mjs";
9
- import { createLogger } from "./createLogger.native.mjs";
10
- import { ensureImportingConcat } from "./ensureImportingConcat.native.mjs";
11
- import { isSimpleSpread } from "./extractHelpers.native.mjs";
12
- import { extractMediaStyle } from "./extractMediaStyle.native.mjs";
13
- import { hoistClassNames } from "./hoistClassNames.native.mjs";
14
- import { getFontFamilyClassNameFromProps } from "./propsToFontFamilyCache.native.mjs";
15
- import { timer } from "./timer.native.mjs";
16
- var mergeStyleGroups = {
17
- shadowOpacity: !0,
18
- shadowRadius: !0,
19
- shadowColor: !0,
20
- shadowOffset: !0
21
- };
22
- async function extractToClassNames(param) {
23
- var {
24
- extractor,
25
- source,
26
- sourcePath = "",
27
- options,
28
- shouldPrintDebug
29
- } = param,
30
- tm = timer(),
31
- {
32
- getStylesAtomic
33
- } = requireTamaguiCore("web");
34
- if (sourcePath.includes("node_modules")) return null;
35
- if (shouldPrintDebug && console.warn(`--- ${sourcePath} ---
36
-
37
- `), typeof source != "string") throw new Error("`source` must be a string of javascript");
38
- if (!path.isAbsolute(sourcePath)) throw new Error("`sourcePath` must be an absolute path to a .js file, got: " + sourcePath);
39
- /.[tj]sx?$/i.test(sourcePath || "") || console.warn(`${sourcePath.slice(0, 100)} - bad filename.`), !options.disableExtraction && !options._disableLoadTamagui && (await extractor.loadTamagui(options));
40
- var printLog = createLogger(sourcePath, options),
41
- ast;
42
- try {
43
- ast = babelParse(source, sourcePath);
44
- } catch (err) {
45
- throw console.error("babel parse error:", sourcePath.slice(0, 100)), err;
46
- }
47
- tm.mark("babel-parse", shouldPrintDebug === "verbose");
48
- var cssMap = /* @__PURE__ */new Map(),
49
- existingHoists = {},
50
- hasFlattened = !1,
51
- res = await extractor.parse(ast, {
52
- shouldPrintDebug,
53
- ...options,
54
- platform: "web",
55
- sourcePath,
56
- extractStyledDefinitions: !0,
57
- onStyleRule(identifier, rules) {
58
- var css = rules.join(";");
59
- shouldPrintDebug && console.info(`adding styled() rule: .${identifier} ${css}`), cssMap.set(`.${identifier}`, {
60
- css,
61
- commentTexts: []
62
- });
63
- },
64
- getFlattenedNode: function (param2) {
65
- var {
66
- tag
67
- } = param2;
68
- return hasFlattened = !0, tag;
69
- },
70
- onExtractTag: function (param2) {
71
- var {
72
- parserProps,
73
- attrs,
74
- node,
75
- attemptEval,
76
- jsxPath,
77
- originalNodeName,
78
- filePath,
79
- lineNumbers,
80
- programPath,
81
- isFlattened,
82
- staticConfig
83
- } = param2;
84
- if (staticConfig.acceptsClassName === !1) {
85
- shouldPrintDebug && console.info("bail, acceptsClassName is false");
86
- return;
87
- }
88
- var didFlattenThisTag = hasFlattened;
89
- hasFlattened = !1;
90
- var finalClassNames = [],
91
- finalAttrs = [],
92
- finalStyles = [],
93
- viewStyles = {},
94
- _iteratorNormalCompletion = !0,
95
- _didIteratorError = !1,
96
- _iteratorError = void 0;
97
- try {
98
- for (var _iterator = attrs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
99
- var attr = _step.value;
100
- attr.type === "style" && (viewStyles = {
101
- ...viewStyles,
102
- ...attr.value
103
- });
104
- }
105
- } catch (err) {
106
- _didIteratorError = !0, _iteratorError = err;
107
- } finally {
108
- try {
109
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
110
- } finally {
111
- if (_didIteratorError) throw _iteratorError;
112
- }
113
- }
114
- var ensureNeededPrevStyle = function (style2) {
115
- var keys = Object.keys(style2);
116
- if (!keys.some(function (key) {
117
- return mergeStyleGroups[key];
118
- })) return style2;
119
- for (var k in mergeStyleGroups) if (k in viewStyles) {
120
- var _style_k;
121
- style2[k] = (_style_k = style2[k]) !== null && _style_k !== void 0 ? _style_k : viewStyles[k];
122
- }
123
- return style2;
124
- },
125
- addStyles = function (style2) {
126
- if (!style2) return [];
127
- var styleWithPrev = ensureNeededPrevStyle(style2),
128
- res2 = getStylesAtomic(styleWithPrev);
129
- return res2.length && (finalStyles = [...finalStyles, ...res2]), res2;
130
- },
131
- lastMediaImportance = 1,
132
- _iteratorNormalCompletion1 = !0,
133
- _didIteratorError1 = !1,
134
- _iteratorError1 = void 0;
135
- try {
136
- for (var _iterator1 = attrs[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
137
- var attr1 = _step1.value;
138
- switch (attr1.type) {
139
- case "style":
140
- {
141
- if (isFlattened) {
142
- var styles1 = addStyles(attr1.value),
143
- newFontFamily = getFontFamilyClassNameFromProps(attr1.value) || "",
144
- newClassNames = helpers.concatClassName(styles1.map(function (x) {
145
- return x[helpers.StyleObjectIdentifier];
146
- }).join(" ") + newFontFamily),
147
- existing = finalClassNames.find(function (x) {
148
- return x.type == "StringLiteral";
149
- });
150
- if (existing) {
151
- var previous = existing.value;
152
- newFontFamily && (shouldPrintDebug && console.info(` newFontFamily: ${newFontFamily}`), previous = previous.replace(/font_[a-z]+/i, "")), existing.value = `${previous} ${newClassNames}`;
153
- } else finalClassNames = [...finalClassNames, t.stringLiteral(newClassNames)];
154
- } else {
155
- var styles2 = getStylesAtomic(attr1.value);
156
- finalStyles = [...finalStyles, ...styles2];
157
- var _iteratorNormalCompletion2 = !0,
158
- _didIteratorError2 = !1,
159
- _iteratorError2 = void 0;
160
- try {
161
- for (var _iterator2 = styles2[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
162
- var style = _step2.value,
163
- prop = style[helpers.StyleObjectPseudo] ? `${style[helpers.StyleObjectProperty]}-${style[helpers.StyleObjectPseudo]}` : style[helpers.StyleObjectProperty];
164
- finalAttrs.push(t.jsxAttribute(t.jsxIdentifier(prop), t.stringLiteral(style[helpers.StyleObjectIdentifier])));
165
- }
166
- } catch (err) {
167
- _didIteratorError2 = !0, _iteratorError2 = err;
168
- } finally {
169
- try {
170
- !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
171
- } finally {
172
- if (_didIteratorError2) throw _iteratorError2;
173
- }
174
- }
175
- }
176
- break;
177
- }
178
- case "attr":
179
- {
180
- var val = attr1.value;
181
- if (t.isJSXSpreadAttribute(val)) isSimpleSpread(val) && finalClassNames.push(t.logicalExpression("&&", val.argument, t.memberExpression(val.argument, t.identifier("className"))));else if (val.name.name === "className") {
182
- var value = val.value;
183
- if (value) try {
184
- var evaluatedValue = attemptEval(value);
185
- finalClassNames.push(t.stringLiteral(evaluatedValue));
186
- } catch {
187
- finalClassNames.push(value.expression);
188
- }
189
- continue;
190
- }
191
- finalAttrs.push(val);
192
- break;
193
- }
194
- case "ternary":
195
- {
196
- var mediaExtraction = extractMediaStyle(parserProps, attr1.value, jsxPath, extractor.getTamagui(), sourcePath || "", lastMediaImportance, shouldPrintDebug);
197
- if (shouldPrintDebug && mediaExtraction) {
198
- var _mediaExtraction_ternaryWithoutMedia, _mediaExtraction_ternaryWithoutMedia_inlineMediaQuery;
199
- console.info("ternary (mediaStyles)", (_mediaExtraction_ternaryWithoutMedia_inlineMediaQuery = (_mediaExtraction_ternaryWithoutMedia = mediaExtraction.ternaryWithoutMedia) === null || _mediaExtraction_ternaryWithoutMedia === void 0 ? void 0 : _mediaExtraction_ternaryWithoutMedia.inlineMediaQuery) !== null && _mediaExtraction_ternaryWithoutMedia_inlineMediaQuery !== void 0 ? _mediaExtraction_ternaryWithoutMedia_inlineMediaQuery : "", mediaExtraction.mediaStyles.map(function (x) {
200
- return x[helpers.StyleObjectIdentifier];
201
- }).join("."));
202
- }
203
- if (!mediaExtraction) {
204
- shouldPrintDebug && mediaExtraction && console.info("add ternary"), addTernaryStyle(attr1.value, addStyles(attr1.value.consequent), addStyles(attr1.value.alternate));
205
- continue;
206
- }
207
- lastMediaImportance++, mediaExtraction.mediaStyles && (finalStyles = [...finalStyles, ...mediaExtraction.mediaStyles]), mediaExtraction.ternaryWithoutMedia ? addTernaryStyle(mediaExtraction.ternaryWithoutMedia, mediaExtraction.mediaStyles, []) : finalClassNames = [...finalClassNames, ...mediaExtraction.mediaStyles.map(function (x) {
208
- return t.stringLiteral(x[helpers.StyleObjectIdentifier]);
209
- })];
210
- break;
211
- }
212
- }
213
- }
214
- } catch (err) {
215
- _didIteratorError1 = !0, _iteratorError1 = err;
216
- } finally {
217
- try {
218
- !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
219
- } finally {
220
- if (_didIteratorError1) throw _iteratorError1;
221
- }
222
- }
223
- function addTernaryStyle(ternary, a, b) {
224
- var cCN = a.map(function (x) {
225
- return x[helpers.StyleObjectIdentifier];
226
- }).join(" "),
227
- aCN = b.map(function (x) {
228
- return x[helpers.StyleObjectIdentifier];
229
- }).join(" ");
230
- a.length && b.length ? finalClassNames.push(t.conditionalExpression(ternary.test, t.stringLiteral(cCN), t.stringLiteral(aCN))) : finalClassNames.push(t.conditionalExpression(ternary.test, t.stringLiteral(" " + cCN), t.stringLiteral(" " + aCN)));
231
- }
232
- if (shouldPrintDebug === "verbose" && console.info(` finalClassNames AST
233
- `, JSON.stringify(finalClassNames, null, 2)), node.attributes = finalAttrs, finalClassNames.length) {
234
- var extraClassNames = function () {
235
- var value2 = "";
236
- return isFlattened && (process.env.TAMAGUI_DEBUG_OPTIMIZATIONS && (value2 += "is_tamagui_flattened"), staticConfig.componentName && (value2 += ` is_${staticConfig.componentName}`)), value2;
237
- }(),
238
- names = buildClassName(finalClassNames, extraClassNames),
239
- nameExpr = names ? hoistClassNames(jsxPath, existingHoists, names) : null,
240
- expr = nameExpr;
241
- if (nameExpr && !t.isIdentifier(nameExpr) && didFlattenThisTag) {
242
- ensureImportingConcat(programPath);
243
- var simpleSpreads = attrs.filter(function (x) {
244
- return x.type === "attr" && t.isJSXSpreadAttribute(x.value) && isSimpleSpread(x.value);
245
- });
246
- expr = t.callExpression(t.identifier("concatClassName"), [expr, ...simpleSpreads.map(function (val2) {
247
- return val2.value.argument;
248
- })]);
249
- }
250
- node.attributes.push(t.jsxAttribute(t.jsxIdentifier("className"), t.jsxExpressionContainer(expr)));
251
- }
252
- var comment = util.format("/* %s:%s (%s) */", filePath, lineNumbers, originalNodeName),
253
- _iteratorNormalCompletion3 = !0,
254
- _didIteratorError3 = !1,
255
- _iteratorError3 = void 0;
256
- try {
257
- for (var _iterator3 = finalStyles[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) {
258
- var styleObject = _step3.value,
259
- identifier = styleObject[helpers.StyleObjectIdentifier],
260
- rules = styleObject[helpers.StyleObjectRules],
261
- className = `.${identifier}`;
262
- if (cssMap.has(className)) {
263
- if (comment) {
264
- var val1 = cssMap.get(className);
265
- val1.commentTexts.push(comment), cssMap.set(className, val1);
266
- }
267
- } else rules.length && cssMap.set(className, {
268
- css: rules.join(`
269
- `),
270
- commentTexts: [comment]
271
- });
272
- }
273
- } catch (err) {
274
- _didIteratorError3 = !0, _iteratorError3 = err;
275
- } finally {
276
- try {
277
- !_iteratorNormalCompletion3 && _iterator3.return != null && _iterator3.return();
278
- } finally {
279
- if (_didIteratorError3) throw _iteratorError3;
280
- }
281
- }
282
- }
283
- });
284
- if (!res || !res.modified && !res.optimized && !res.flattened && !res.styled) return shouldPrintDebug && console.info("no res or none modified", res), null;
285
- var styles = Array.from(cssMap.values()).map(function (x) {
286
- return x.css;
287
- }).join(`
288
- `).trim(),
289
- result = generate(ast, {
290
- concise: !1,
291
- filename: sourcePath,
292
- // this makes the debug output terrible, and i think sourcemap works already
293
- retainLines: !1,
294
- sourceFileName: sourcePath,
295
- sourceMaps: !0
296
- }, source);
297
- return shouldPrintDebug && (console.info(`
298
- -------- output code -------
299
-
300
- `, result.code.split(`
301
- `).filter(function (x) {
302
- return !x.startsWith("//");
303
- }).join(`
304
- `)), console.info(`
305
- -------- output style --------
306
-
307
- `, styles)), printLog(res), {
308
- ast,
309
- styles,
310
- js: result.code,
311
- map: result.map
312
- };
313
- }
314
- export { extractToClassNames };
315
- //# sourceMappingURL=extractToClassNames.native.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["path","util","generate","t","helpers","requireTamaguiCore","babelParse","buildClassName","createLogger","ensureImportingConcat","isSimpleSpread","extractMediaStyle","hoistClassNames","getFontFamilyClassNameFromProps","timer","mergeStyleGroups","shadowOpacity","shadowRadius","shadowColor","shadowOffset","extractToClassNames","param","extractor","source","sourcePath","options","shouldPrintDebug","tm","getStylesAtomic","includes","console","warn","Error","isAbsolute","test","slice","disableExtraction","_disableLoadTamagui","loadTamagui","printLog","ast","err","error","mark","cssMap","Map","existingHoists","hasFlattened","res","parse","platform","extractStyledDefinitions","onStyleRule","identifier","rules","css","join","info","set","commentTexts","getFlattenedNode","param2","tag","onExtractTag","parserProps","attrs","node","attemptEval","jsxPath","originalNodeName","filePath","lineNumbers","programPath","isFlattened","staticConfig","acceptsClassName","didFlattenThisTag","finalClassNames","finalAttrs","finalStyles","viewStyles","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","attr","value","type","return","ensureNeededPrevStyle","style2","keys","Object","some","key","k","_style_k","addStyles","styleWithPrev","res2","length","lastMediaImportance","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","attr1","styles1","newFontFamily","newClassNames","concatClassName","map","x","StyleObjectIdentifier","existing","find","previous","replace","stringLiteral","styles2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","style","prop","StyleObjectPseudo","StyleObjectProperty","push","jsxAttribute","jsxIdentifier","val","isJSXSpreadAttribute","logicalExpression","argument","memberExpression","name","evaluatedValue","expression","mediaExtraction","getTamagui","_mediaExtraction_ternaryWithoutMedia","_mediaExtraction_ternaryWithoutMedia_inlineMediaQuery","ternaryWithoutMedia","inlineMediaQuery","mediaStyles","addTernaryStyle","consequent","alternate","ternary","a","b","cCN","aCN","conditionalExpression","JSON","stringify","attributes","extraClassNames","value2","process","env","TAMAGUI_DEBUG_OPTIMIZATIONS","componentName","names","nameExpr","expr","isIdentifier","simpleSpreads","filter","callExpression","val2","jsxExpressionContainer","comment","format","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","styleObject","StyleObjectRules","className","has","val1","get","modified","optimized","flattened","styled","styles","Array","from","values","trim","result","concise","filename","retainLines","sourceFileName","sourceMaps","code","split","startsWith"],"sources":["../../../src/extractor/extractToClassNames.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,IAAA,MAAU;AACtB,YAAYC,IAAA,MAAU;AAEtB,OAAOC,QAAA,MAAc;AACrB,YAAYC,CAAA,MAAO;AACnB,YAAYC,OAAA,MAAa;AAGzB,SAASC,kBAAA,QAA0B;AAEnC,SAASC,UAAA,QAAkB;AAC3B,SAASC,cAAA,QAAsB;AAE/B,SAASC,YAAA,QAAoB;AAC7B,SAASC,qBAAA,QAA6B;AACtC,SAASC,cAAA,QAAsB;AAC/B,SAASC,iBAAA,QAAyB;AAClC,SAASC,eAAA,QAAuB;AAChC,SAASC,+BAAA,QAAuC;AAChD,SAASC,KAAA,QAAa;AAEtB,IAAAC,gBAAM;EACJC,aAAA,EAAe;EACfC,YAAA,EAAc;EACdC,WAAA,EAAa;EACbC,YAAA,EAAc;AAChB;AAkBA,eAAsBC,oBAAoBC,KAAA;EACxC;MAAAC,SAAA;MAAAC,MAAA;MAAAC,UAAA;MAAAC,OAAA;MAAAC;IAAA,IAAAL,KAAA;IAAAM,EAAA,GAAAb,KAAA;IAAA;MAAAc;IAAA,IAAAvB,kBAAA;EACA,IAAAmB,UAAA,CAAAK,QAAA,kBACA,WAAa;EACb,IAAAH,gBAAA,IAAAI,OAAA,CAAAC,IAAA,QAAAP,UAAA;AAAA;AAEF,IAAgE,OAAAD,MAAA,cAC9D,MAAM,IAAKS,KAAM,0CACW;EAE5B,IAAI,CAAAhC,IAAA,CAAAiC,UAAW,CAAAT,UAAS,GACtB,UAAOQ,KAAA,gEAAAR,UAAA;EAOT,YAJI,CAAAU,IAAA,CAAAV,UACF,IAAQ,OAAKM,OAAO,CAAAC,IAAA,IAAUP,UAAA,CAAAW,KAAA,8BAAAV,OAAA,CAAAW,iBAAA,KAAAX,OAAA,CAAAY,mBAAA,WAAAf,SAAA,CAAAgB,WAAA,CAAAb,OAAA;EAAA,IAAAc,QAAA,GAAA/B,YAAA,CAAAgB,UAAA,EAAAC,OAAA;IAAAe,GAAA;EAAW,IAGvC;IACFA,GAAA,GAAMlC,UAAU,CAAAiB,MAAA,EAAAC,UAAA;EAElB,SAAKiB,GAAK;IACR,MAAMX,OAAI,CAAAY,KAAA,uBAAAlB,UAAA,CAAAW,KAAA,WAAAM,GAAA;EAAA;EACuDd,EACjE,CAAAgB,IAAA,gBAAAjB,gBAAA;EAGG,IAAAkB,MAAA,GAAa,eAAK,IAAcC,GAAE;IACrCC,cAAa,GAAG;IAAAC,YAAiB,GAAG,EAAG;IAACC,GAAA,SAAA1B,SAGrC,CAAA2B,KAAA,CAAAT,GAAQ;MAKbd,gBAAiB;MAGjB,GAAID,OAAA;MAEJyB,QAAI;MACF1B,UAAM;MACR2B,wBAAc;MACZC,YAAAC,UAAc,EAAAC,KAAA;QAEhB,IAAAC,GAAA,GAAAD,KAAA,CAAAE,IAAA;QAEG9B,gBAAK,IAAeI,OAAA,CAAA2B,IAAA,2BAA8BJ,UAAA,IAAAE,GAAA,KAAAX,MAAA,CAAAc,GAAA,KAAAL,UAAA;UAE/CE,GAAA;UAGFI,YAAA,EAAe;QAEnB,EAAM;MACJ;MACAC,gBAAG,WAAAA,CAAAC,MAAA;QACH;UAAAC;QAAU,IAAAD,MAAA;QACV,OAAAd,YAAA,OAAAe,GAAA;MACA;MACAC,YAAY,WAAAA,CAAAF,MAAY,EAAO;QAC7B;UAAMG,WAAM;UAAMC,KAAK;UAAGC,IAAA;UAAAC,WAAA;UAAAC,OAAA;UAAAC,gBAAA;UAAAC,QAAA;UAAAC,WAAA;UAAAC,WAAA;UAAAC,WAAA;UAAAC;QAAA,IAAAb,MAAA;QACtB,IAAAa,YAAA,CAAAC,gBACW;UAGjBjD,gBAAA,IAAAI,OAAA,CAAA2B,IAAA;UACA;QAIA;QACE,IAAAmB,iBAAA,GAAA7B,YAAA;QACAA,YAAA;QACA,IAAA8B,eAAA;UAAAC,UAAA;UAAAC,WAAA;UAAAC,UAAA;UAAAC,yBAAA;UAAAC,iBAAA;UAAAC,cAAA;QACA;UACA,SAAAC,SAAA,GAAAnB,KAAA,CAAAoB,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;YACA,IAAAS,IAAA,GAAAH,KAAA,CAAAI,KAAA;YACAD,IAAA,CAAAE,IAAA,iBAAAZ,UAAA;cACA,GAAAA,UAAA;cACA,GAAAU,IAAA,CAAAC;YACA;UACA;QACF,SAAMlD,GAAA;UAEJyC,iBAAiB,OAAAC,cAAqB,GAAO1C,GAAA;QAC3C,UAAI;UAGJ;YACF,CAAAwC,yBAAA,IAAAG,SAAA,CAAAS,MAAA,YAAAT,SAAA,CAAAS,MAAA;UAGA,UAAM;YACN,IAAAX,iBAAe,EAEX,MAAAC,cAAsC;UAC1C;QACA;QAGA,IAAAW,qBAAmB,YAAAA,CAAAC,MAAA;YACb,IAAAC,IAAK,GAAAC,MAAS,CAAAD,IAAA,CAAAD,MAChB;YAAa,IACX,CAAGC,IAAA,CAAAE,IAAA,WAAAC,GAAA;cACH,OAAGpF,gBAAK,CAAAoF,GAAA;YACV,IAIJ,OAAMJ,MAAA;YAGJ,KADa,IAAAK,CAAA,IAAOrF,gBACJ,EACd,IAAAqF,CAAA,IAAOpB,UAAA;cAET,IAAAqB,QAAgB;cACVN,MAAK,CAAAK,CAAA,KAAAC,QACP,GAAMN,MAAK,CAAAK,CAAA,OAAO,IAAK,IAAAC,QAAY,cAAAA,QAAA,GAAArB,UAAA,CAAAoB,CAAA;YAGvC;YACF,OAEML,MAAY;UAChB;UAAAO,SAAK,GAAO,SAAAA,CAAQP,MAAA;YACpB,KAAAA,MAAM,WAAgB;YAEtB,IAAAQ,aAAQ,GAAAT,qBACY,CAAAC,MAAA;cAAAS,IAAa,GAAG5E,eAE7B,CAAA2E,aAAA;YACT,OAAAC,IAAA,CAAAC,MAAA,KAAA1B,WAAA,IAGI,GAAAA,WAAA,EACJ,GAAAyB,IAAW,CACT,GAAAA,IAAQ;UAAW;UAAAE,mBACH;UAAAC,0BAAA;UAAAC,kBAAA;UAAAC,eAAA;QACZ;UAoBE,SAAAC,UAAM,GAAS7C,KAAA,CAAAoB,MAAU,CAAAC,QAAU,EAC7B,GAAAyB,MAAA,IAAAJ,0BAAgB,IAAAI,MAAgC,GAAAD,UAAU,CAAKtB,IAC/D,IAAAC,IAAA,GAAAkB,0BAAwB;YAAA,IAAAK,KAC5B,GAAAD,MAAW,CAACpB,KAAA;YACV,QAEEqB,KAAA,CAAApB,IAAW;cAAgB,KAC9B,OAAM;gBAAE;kBACX,IAAAnB,WAAA;oBAEA,IAAIwC,OAAA,GAAUX,SAAA,CAAAU,KAAA,CAAArB,KAAA;sBAAAuB,aAAA,GAAArG,+BAAA,CAAAmG,KAAA,CAAArB,KAAA;sBAAAwB,aAAA,GAAA/G,OAAA,CAAAgH,eAAA,CAAAH,OAAA,CAAAI,GAAA,WAAAC,CAAA;wBACZ,OAAIA,CAAA,CAAAlH,OAAW,CAAAmH,qBAAS;sBAEpB,GAAA/D,IAAA,QAAA0D,aACE;sBAAAM,QACF,GAAA3C,eAAa,CAAA4C,IAAA,WAAmBH,CAAA;wBAKtC,OAAAA,CAAA,CAAA1B,IAAA;sBACE;oBAEJ,IA3CkB4B,QAAA;sBAChB,IAAME,QAAS,GAAAF,QAAA,CAAA7B,KAAgB;sBAE/BuB,aAAe,KAAGxF,gBAAgB,IAAMI,OAAA,CAAA2B,IAAA,oBAAAyD,aAAA,KAAAQ,QAAA,GAAAA,QAAA,CAAAC,OAAA,uBAAAH,QAAA,CAAA7B,KAAA,MAAA+B,QAAA,IAAAP,aAAA;oBAExC,OAEEtC,eAAa,GAAM,CAKnB,GAAAA,eAAW,EACP1E,CAAA,CAAAyH,aAAA,CAAAT,aAAA;kBACoB,OACpB;oBAAoD,IACtDU,OAAA,GAAAjG,eAAA,CAAAoF,KAAA,CAAArB,KAAA;oBACFZ,WAAA,IACF,GAAAA,WAAA,EACF,GAAA8C,OAAA,CA0BA;oBACF,IAAAC,0BAAA;sBAAAC,kBAAA;sBAAAC,eAAA;oBACK;sBACG,SAAMC,UAAK,GAAAJ,OAAA,CAAAxC,MAAA,CAAAC,QAAA,KAAA4C,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAzC,IAAA,IAAAC,IAAA,GAAAqC,0BAAA;wBACX,IAAAK,KAAA,GAAAD,MAAA,CAAqBvC,KAAG;0BAAAyC,IAAA,GAAAD,KAAA,CAAA/H,OAAA,CAAAiI,iBAAA,OAAAF,KAAA,CAAA/H,OAAA,CAAAkI,mBAAA,KAAAH,KAAA,CAAA/H,OAAA,CAAAiI,iBAAA,MAAAF,KAAA,CAAA/H,OAAA,CAAAkI,mBAAA;wBACxBxD,UAAe,CAAAyD,IAAG,CAAApI,CACpB,CAAAqI,YAAA,CAAArI,CAAA,CAAgBsI,aAAA,CAAAL,IAAA,GAAAjI,CAAA,CAAAyH,aAAA,CAAAO,KAAA,CAAA/H,OAAA,CAAAmH,qBAAA;sBACZ;oBAAA,EACA,OAAA9E,GAAA;sBACAsF,kBAAI,OAAAC,eAAA,GAAAvF,GAAA;oBAAA,UACF;sBACJ;wBACF,CAAAqF,0BAAA,IAAAG,UAAA,CAAApC,MAAA,YAAAoC,UAAA,CAAApC,MAAA;sBAAA,UAEW;wBACP,IAAAkC,kBAAY,EACd,MAAAC,eAAA;sBACF;oBACE;kBACA;kBAAoD;gBAEpD;cAAwC,KAC1C;gBAAA;kBAEF,IAAAU,GAAA,GAAA1B,KAAA,CAAArB,KAAA;kBACF,IAAAxF,CAAA,CAAAwI,oBAAA,CAAAD,GAAA,GACAhI,cAAgB,CAAGgI,GAAA,KAAA7D,eAAA,CAAA0D,IAAA,CAAApI,CAAA,CAAAyI,iBAAA,OAAAF,GAAA,CAAAG,QAAA,EAAA1I,CAAA,CAAA2I,gBAAA,CAAAJ,GAAA,CAAAG,QAAA,EAAA1I,CAAA,CAAAkD,UAAA,sBACnB,IAAAqF,GAAA,CAAAK,IAAA,CAAAA,IAAA;oBACF,IAAApD,KAAA,GAAA+C,GAAA,CAAA/C,KAAA;oBACK,IAAAA,KAAA,EACG;sBACJ,IAAAqD,cAAA,GAAA7E,WAAA,CAAAwB,KAAA;sBACKd,eAAA,CAAA0D,IAAA,CAAApI,CAAA,CAAAyH,aAAA,CAAAoB,cAAA;oBACL;sBACAnE,eAAqB,CAAA0D,IAAA,CAAA5C,KAAA,CAAAsD,UAAA;oBACrB;oBACA;kBACA;kBACFnE,UAAA,CAAAyD,IAAA,CAAAG,GAAA;kBAYA;gBATY;cACN,KACA;gBAAA;kBACA,IAAAQ,eAAgB,GAAAvI,iBACF,CAAAqD,WAAU,EAAAgD,KAAA,CAAArB,KAAA,EAAAvB,OACrB,EAAA9C,SAAQ,CAAA6H,UAAA,IAAA3H,UAAA,QAAAkF,mBAAA,EAAAhF,gBAAA;kBACb,IAGCA,gBAAiB,IAAAwH,eAAA;oBAChB,IAAAE,oCAEA,EAAAC,qDAGJ;oBACEvH,OAAK,CAAA2B,IAAA,2BAAA4F,qDAAA,IAAAD,oCAAA,GAAAF,eAAA,CAAAI,mBAAA,cAAAF,oCAAA,uBAAAA,oCAAA,CAAAG,gBAAA,cAAAF,qDAAA,cAAAA,qDAAA,OAAAH,eAAA,CAAAM,WAAA,CAAAnC,GAAA,WAAAC,CAAA;sBACL,OAAAA,CAAU,CAAAlH,OAAK,CAAAmH,qBAAgB;oBAC/B,GAAA/D,IAAA,IAAU;kBACZ;kBACA,KAAA0F,eAAA;oBACFxH,gBAAA,IAAAwH,eAAA,IAAApH,OAAA,CAAA2B,IAAA,iBAAAgG,eAAA,CAAAzC,KAAA,CAAArB,KAAA,EAAAW,SAAA,CAAAU,KAAA,CAAArB,KAAA,CAAA+D,UAAA,GAAApD,SAAA,CAAAU,KAAA,CAAArB,KAAA,CAAAgE,SAAA;oBACA;kBAMI;kBACAjD,mBAAgB,IAAAwC,eAAA,CAAAM,WAAA,KAAAzE,WAAA,IACf,GAAAA,WAAA,EAGH,GAAAmE,eAAkB,CAAAM,WAAA,CAChB,GAAGN,eAAA,CAAAI,mBAAA,GAAAG,eAAA,CAAAP,eAAA,CAAAI,mBAAA,EAAAJ,eAAA,CAAAM,WAAA,QAAA3E,eAAA,IACH,GAAGA,eAAgB,EAAgB,GAACqE,eAChC,CAAAM,WAAgB,CAAAnC,GAAQ,WAAAC,CAAA;oBAC5B,OAAAnH,CAAA,CAAAyH,aAAA,CAAAN,CAAA,CAAAlH,OAAA,CAAAmH,qBAAA;kBACF,GAEF;kBACF;gBACF;YAGF;UACE;QAGA,EAAI,OAAE9E,GAAA,EAAU;UACEmE,kBACZ,OAAAC,eAAA,GAAApE,GAAA;QAAA,UACA;UAAQ,IACR;YAAmB,CAAAkE,0BACA,IAAAG,UAAA,CAAAjB,MAAA,YAAAiB,UAAA,CAAAjB,MAAA;UAAA,UACrB;YACF,IAEAe,kBAAgB,EACZ,MAAAC,eAAA;UAAA;QACQ;QACiB,SACvB4C,eAAcA,CAAAG,OAAS,EAAAC,CAAA,EAAAC,CAAA;UAAA,IAC3BC,GAAA,GAAAF,CAAA,CAAAxC,GAAA,WAAAC,CAAA;cACF,OAAAA,CAAA,CAAAlH,OAAA,CAAAmH,qBAAA;YAEJ,GAAA/D,IAAA;YAAAwG,GAAA,GAAAF,CAAA,CAAAzC,GAAA,WAAAC,CAAA;cAEI,OAAAA,CAAA,CAAAlH,OAAA,CAAAmH,qBACF;YAA6C,GAAA/D,IAAA,IAAU;UAMvDqG,CAAA,CAAApD,MAAM,IAAAqD,CAAA,CAAArD,MAAA,GAAA5B,eAAyB,CAAA0D,IAAA,CAAApI,CAAA,CAAA8J,qBAAA,CAAAL,OAAA,CAAA1H,IAAA,EAAA/B,CAAA,CAAAyH,aAAA,CAAAmC,GAAA,GAAA5J,CAAA,CAAAyH,aAAA,CAAAoC,GAAA,MAAAnF,eAAA,CAAA0D,IAAA,CAAApI,CAAA,CAAA8J,qBAAA,CAAAL,OAAA,CAAA1H,IAAA,EAAA/B,CAAA,CAAAyH,aAAA,OAAAmC,GAAA,GAAA5J,CAAA,CAAAyH,aAAA,OAAAoC,GAAA;QAC7B;QACA,IAAAtI,gBAAK,cAKD,IAAQI,OAAI,CAAA2B,IAAA;AAST,GAAAyG,IAAA,CACTC,SAGM,CAAAtF,eAAQ,MAAe,OAAAX,IAAA,CAAAkG,UAAiB,GAAAtF,UAExC,EAAAD,eAAmB,CAAA4B,MAAA;UACzB,IAAI4D,eAAO;cAGX,IAAIC,MAAA,KAAa;cAIb,OAAA7F,WAAA,KAAsB8F,OAAA,CAAAC,GAAW,CAAAC,2BAAA,KAAAH,MAAA,6BAAA5F,YAAA,CAAAgG,aAAA,KAAAJ,MAAA,WAAA5F,YAAA,CAAAgG,aAAA,MAAAJ,MAAA;YACjC;YAAAK,KAAM,GAAApK,cAAgB,CAAAsE,eAAc,EAEhCwF,eAAW;YAAAO,QACT,GAAAD,KAAA,GAAA/J,eAA4B,CAAAwD,OAC9B,EAAAtB,cAAiB,EAEpB6H,KAAA;YAAAE,IAAA,GAAAD,QAAA;UACD,IAAAA,QAAS,KAAAzK,CAAA,CAAA2K,YAAiB,CAAAF,QAAW,KAAAhG,iBAAoB;YAAAnE,qBACvD,CAAA+D,WAAA;YAAA,IACAuG,aAAG,GAAc9G,KAAK,CAAA+G,MAAQ,WAAU1D,CAAA;cACzC,OAAAA,CAAA,CAAA1B,IAAA,eAAAzF,CAAA,CAAAwI,oBAAA,CAAArB,CAAA,CAAA3B,KAAA,KAAAjF,cAAA,CAAA4G,CAAA,CAAA3B,KAAA;YACH;YAGFkF,IAAK,GAAA1K,CAAA,CAAA8K,cAAW,CAAA9K,CAAA,CAAAkD,UAAA,sBACZwH,IAAA,EACJ,GAAAE,aAAA,CAAA1D,GAAA,WAAA6D,IAAA;cACF,OAAAA,IAAA,CAAAvF,KAAA,CAAAkD,QAAA;YAEM,GACJ;UACA;UACA3E,IAAA,CAAAkG,UAAA,CAAA7B,IAAA,CAAApI,CAAA,CAAAqI,YAAA,CAAArI,CAAA,CAAAsI,aAAA,eAAAtI,CAAA,CAAAgL,sBAAA,CAAAN,IAAA;QAAA;QAEF,IAAAO,OAAA,GAAAnL,IAAA,CAAAoL,MAAA,qBAAA/G,QAAA,EAAAC,WAAA,EAAAF,gBAAA;UAAAiH,0BAAA;UAAAC,kBAAA;UAAAC,eAAA;QAEA;UACE,SAAMC,UAAa,GAAA1G,WAAY,CAAAM,MAAQ,CAAAC,QAAA,KAAAoG,MAAqB,IACtDJ,0BAAoB,GAAQ,CAAAI,MAAA,GAAAD,UAC5B,CAAAjG,IAAA,IAAYC,IAAI,GAAA6F,0BAAU;YAChC,IAAIK,WAAW,GAAAD,MAAS,CAAA/F,KAAA;cAAAtC,UAAA,GAAAsI,WAAA,CAAAvL,OAAA,CAAAmH,qBAAA;cAAAjE,KAAA,GAAAqI,WAAA,CAAAvL,OAAA,CAAAwL,gBAAA;cAAAC,SAAA,OAAAxI,UAAA;YACtB,IAAIT,MAAA,CAAAkJ,GAAS,CAAAD,SAAA;cACX,IAAAT,OAAM,EAAM;gBACZ,IAAIW,IAAA,GAAAnJ,MAAa,CAAAoJ,GAAK,CAAAH,SACtB;gBACFE,IAAA,CAAApI,YAAA,CAAA4E,IAAA,CAAA6C,OAAA,GAAAxI,MAAA,CAAAc,GAAA,CAAAmI,SAAA,EAAAE,IAAA;cAAA;YAGE,OAAKzI,KAAM,CAAAmD,MAAK,IAAA7D,MAAA,CAAAc,GAAA,CAAAmI,SAAA;cAAItI,GAAA,EAAAD,KAAA,CAAAE,IAAA;AAAA;cAErBG,YAAA,GAELyH,OAAA;YAEH;UAEI;QACH,SAAI3I,GAAA;UAMA8I,kBAAe,GAAK,IAAAC,eACvB,GAAK/I,GAAA;QAEL,UAGG;UACJ;YACA,CAAA6I,0BAAA,IAAAG,UAAA,CAAA5F,MAAA,YAAA4F,UAAA,CAAA5F,MAAA;UACE,UAAS;YACT,IAAA0F,kBAAU,QAAAC,eAAA;UAEV;QACA;MAAgB;IACJ,EACd;EAAA,IACA,CAAAxI,GAAA,KAAAA,GAAA,CAAAiJ,QAAA,KAAAjJ,GAAA,CAAAkJ,SAAA,KAAAlJ,GAAA,CAAAmJ,SAAA,KAAAnJ,GAAA,CAAAoJ,MAAA,EACF,OAAA1K,gBAAA,IAAAI,OAAA,CAAA2B,IAAA,4BAAAT,GAAA;EAEA,IAAAqJ,MAAI,GAAAC,KAAA,CAAAC,IAAA,CAAA3J,MACF,CAAA4J,MAAQ,IAAAnF,GAAA,WAAAC,CAAA;MACN,OAAAA,CAAA,CAAA/D,GAAA;IAAA,GAAAC,IAAA;AAAA,GAAAiJ,IAAA;IAAAC,MAAA,GAAAxM,QAAA,CAAAsC,GAAA;MAAAmK,OAAA;MACAC,QAAO,EAAApL,UACE;MACN;MACSqL,WAAA;MACdC,cACa,EAAAtL,UAAA;MAAAuL,UAAA;IAAA,GAAAxL,MAAA;EAAA,OAAgDG,gBAGnD,KAELI,OAAA,CAAA2B,IAAA;AAAA;AACL;AACA,GAAAiJ,MACI,CAAAM,IAAA,CAAOC,KAAA;AAAA,GAAAjC,MACN,WAAO1D,CAAA;IACd,QAAAA,CAAA,CAAA4F,UAAA;EACF,GAAA1J,IAAA","ignoreList":[]}
@@ -1,268 +0,0 @@
1
- import { basename } from "node:path";
2
- import { transformFromAstSync } from "@babel/core";
3
- import generator from "@babel/generator";
4
- import { declare } from "@babel/helper-plugin-utils";
5
- import { parse } from "@babel/parser";
6
- import template from "@babel/template";
7
- import * as t from "@babel/types";
8
- import { createExtractor } from "./createExtractor.native.mjs";
9
- import { getPragmaOptions } from "../getPragmaOptions.native.mjs";
10
- import { createLogger } from "./createLogger.native.mjs";
11
- import { isSimpleSpread } from "./extractHelpers.native.mjs";
12
- import { literalToAst } from "./literalToAst.native.mjs";
13
- import { loadTamaguiBuildConfigSync } from "./loadTamagui.native.mjs";
14
- var importNativeView = template(`
15
- const __ReactNativeView = require('react-native').View;
16
- const __ReactNativeText = require('react-native').Text;
17
- `),
18
- importStyleSheet = template(`
19
- const __ReactNativeStyleSheet = require('react-native').StyleSheet;
20
- `),
21
- importWithStyle = template(`
22
- const __withStableStyle = require('@tamagui/core')._withStableStyle;
23
- `),
24
- extractor = createExtractor({
25
- platform: "native"
26
- }),
27
- tamaguiBuildOptionsLoaded;
28
- function extractToNative(sourceFileName, sourceCode, options) {
29
- var ast = parse(sourceCode, {
30
- sourceType: "module",
31
- plugins: ["jsx", "typescript"]
32
- }),
33
- babelPlugin = getBabelPlugin(),
34
- out = transformFromAstSync(ast, sourceCode, {
35
- plugins: [[babelPlugin, options]],
36
- configFile: !1,
37
- sourceFileName,
38
- filename: sourceFileName
39
- });
40
- if (!out) throw new Error("No output returned");
41
- return out;
42
- }
43
- function getBabelPlugin() {
44
- return declare(function (api, options) {
45
- return api.assertVersion(7), getBabelParseDefinition(options);
46
- });
47
- }
48
- function getBabelParseDefinition(options) {
49
- return {
50
- name: "tamagui",
51
- visitor: {
52
- Program: {
53
- enter(root) {
54
- var _process_env_SOURCE_ROOT,
55
- _root_node_body__leadingComments,
56
- _root_node_body_,
57
- sourcePath = this.file.opts.filename;
58
- if (sourcePath?.includes("node_modules") || !sourcePath?.endsWith(".jsx") && !sourcePath?.endsWith(".tsx")) return;
59
- !((_process_env_SOURCE_ROOT = process.env.SOURCE_ROOT) === null || _process_env_SOURCE_ROOT === void 0) && _process_env_SOURCE_ROOT.endsWith("ios") && (sourcePath = sourcePath.replace("/ios", ""));
60
- var hasImportedView = !1,
61
- hasImportedViewWrapper = !1,
62
- sheetStyles = {},
63
- sheetIdentifier = root.scope.generateUidIdentifier("sheet"),
64
- _root_node_body__leadingComments_map_join,
65
- firstCommentContents = (_root_node_body__leadingComments_map_join = (_root_node_body_ = root.node.body[0]) === null || _root_node_body_ === void 0 || (_root_node_body__leadingComments = _root_node_body_.leadingComments) === null || _root_node_body__leadingComments === void 0 ? void 0 : _root_node_body__leadingComments.map(function (comment) {
66
- return comment?.value || " ";
67
- }).join(" ")) !== null && _root_node_body__leadingComments_map_join !== void 0 ? _root_node_body__leadingComments_map_join : "",
68
- firstComment = firstCommentContents ? `//${firstCommentContents}` : "",
69
- {
70
- shouldPrintDebug,
71
- shouldDisable
72
- } = getPragmaOptions({
73
- source: firstComment,
74
- path: sourcePath
75
- });
76
- if (shouldDisable) return;
77
- !options.config && !options.components && (tamaguiBuildOptionsLoaded || (tamaguiBuildOptionsLoaded = loadTamaguiBuildConfigSync({})));
78
- var finalOptions = {
79
- // @ts-ignore just in case they leave it out
80
- platform: "native",
81
- ...tamaguiBuildOptionsLoaded,
82
- ...options
83
- },
84
- printLog = createLogger(sourcePath, finalOptions);
85
- function addSheetStyle(style, node) {
86
- var styleIndex = `${Object.keys(sheetStyles).length}`,
87
- key = `${styleIndex}`;
88
- if (process.env.NODE_ENV === "development") {
89
- var lineNumbers = node.loc ? node.loc.start.line + (node.loc.start.line !== node.loc.end.line ? `-${node.loc.end.line}` : "") : "";
90
- key += `:${basename(sourcePath)}:${lineNumbers}`;
91
- }
92
- return sheetStyles[key] = style, readStyleExpr(key);
93
- }
94
- function readStyleExpr(key) {
95
- return template("SHEET['KEY']")({
96
- SHEET: sheetIdentifier.name,
97
- KEY: key
98
- }).expression;
99
- }
100
- var res;
101
- try {
102
- res = extractor.parseSync(root, {
103
- importsWhitelist: ["constants.js", "colors.js"],
104
- extractStyledDefinitions: options.forceExtractStyleDefinitions,
105
- excludeProps: /* @__PURE__ */new Set(["className", "userSelect", "whiteSpace", "textOverflow", "cursor", "contain"]),
106
- shouldPrintDebug,
107
- ...finalOptions,
108
- // disable this extraction for now at least, need to figure out merging theme vs non-theme
109
- // because theme need to stay in render(), whereas non-theme can be extracted
110
- // for now just turn it off entirely at a small perf loss
111
- disableExtractInlineMedia: !0,
112
- // disable extracting variables as no native concept of them (only theme values)
113
- disableExtractVariables: options.experimentalFlattenThemesOnNative ? !1 : "theme",
114
- sourcePath,
115
- // disabling flattening for now
116
- // it's flattening a plain <Paragraph>hello</Paragraph> which breaks things because themes
117
- // thinking it's not really worth the effort to do much compilation on native
118
- // for now just disable flatten as it can only run in narrow places on native
119
- // disableFlattening: 'styled',
120
- getFlattenedNode(param) {
121
- var {
122
- isTextView
123
- } = param;
124
- return hasImportedView || (hasImportedView = !0, root.unshiftContainer("body", importNativeView())), isTextView ? "__ReactNativeText" : "__ReactNativeView";
125
- },
126
- onExtractTag(props) {
127
- var {
128
- isFlattened
129
- } = props;
130
- if (!isFlattened) return;
131
- assertValidTag(props.node);
132
- var stylesExpr = t.arrayExpression([]),
133
- hocStylesExpr = t.arrayExpression([]),
134
- expressions = [],
135
- finalAttrs = [],
136
- themeKeysUsed = /* @__PURE__ */new Set();
137
- function getStyleExpression(style) {
138
- if (style) {
139
- var {
140
- plain,
141
- themed
142
- } = splitThemeStyles(style),
143
- themeExpr = null;
144
- if (themed && options.experimentalFlattenThemesOnNative) {
145
- for (var key in themed) themeKeysUsed.add(themed[key].split("$")[1]);
146
- themeExpr = getThemedStyleExpression(themed);
147
- }
148
- var ident = addSheetStyle(plain, props.node);
149
- return themeExpr ? (addStyleExpression(ident), addStyleExpression(ident, !0), themeExpr) : ident;
150
- }
151
- }
152
- function addStyleExpression(expr) {
153
- var HOC = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
154
- Array.isArray(expr) ? (HOC ? hocStylesExpr : stylesExpr).elements.push(...expr) : (HOC ? hocStylesExpr : stylesExpr).elements.push(expr);
155
- }
156
- function getThemedStyleExpression(styles) {
157
- var themedStylesAst = literalToAst(styles);
158
- return themedStylesAst.properties.forEach(function (_) {
159
- var prop = _;
160
- prop.value.type === "StringLiteral" && (prop.value = t.memberExpression(t.identifier("theme"), t.identifier(prop.value.value.slice(1) + ".get()")));
161
- }), themedStylesAst;
162
- }
163
- var hasDynamicStyle = !1,
164
- _iteratorNormalCompletion = !0,
165
- _didIteratorError = !1,
166
- _iteratorError = void 0;
167
- try {
168
- for (var _iterator = props.attrs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
169
- var attr = _step.value;
170
- switch (attr.type) {
171
- case "style":
172
- {
173
- var styleExpr = getStyleExpression(attr.value);
174
- addStyleExpression(styleExpr), options.experimentalFlattenThemesOnNative && addStyleExpression(styleExpr, !0);
175
- break;
176
- }
177
- case "ternary":
178
- {
179
- var {
180
- consequent,
181
- alternate
182
- } = attr.value,
183
- consExpr = getStyleExpression(consequent),
184
- altExpr = getStyleExpression(alternate);
185
- options.experimentalFlattenThemesOnNative && (expressions.push(attr.value.test), addStyleExpression(t.conditionalExpression(t.identifier(`_expressions[${expressions.length - 1}]`), consExpr || t.nullLiteral(), altExpr || t.nullLiteral()), !0));
186
- var styleExpr1 = t.conditionalExpression(attr.value.test, consExpr || t.nullLiteral(), altExpr || t.nullLiteral());
187
- addStyleExpression(styleExpr1);
188
- break;
189
- }
190
- case "dynamic-style":
191
- {
192
- hasDynamicStyle = !0, expressions.push(attr.value), options.experimentalFlattenDynamicValues ? addStyleExpression(t.objectExpression([t.objectProperty(t.identifier(attr.name), t.identifier(`_expressions[${expressions.length - 1}]`))]), !0) : addStyleExpression(t.objectExpression([t.objectProperty(t.identifier(attr.name), attr.value)]));
193
- break;
194
- }
195
- case "attr":
196
- {
197
- t.isJSXSpreadAttribute(attr.value) && isSimpleSpread(attr.value) && (stylesExpr.elements.push(t.memberExpression(attr.value.argument, t.identifier("style"))), options.experimentalFlattenThemesOnNative && hocStylesExpr.elements.push(t.memberExpression(attr.value.argument, t.identifier("style")))), finalAttrs.push(attr.value);
198
- break;
199
- }
200
- }
201
- }
202
- } catch (err) {
203
- _didIteratorError = !0, _iteratorError = err;
204
- } finally {
205
- try {
206
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
207
- } finally {
208
- if (_didIteratorError) throw _iteratorError;
209
- }
210
- }
211
- if (props.node.attributes = finalAttrs, props.isFlattened) if (options.experimentalFlattenThemesOnNative && (themeKeysUsed.size || hocStylesExpr.elements.length > 1 || hasDynamicStyle)) {
212
- hasImportedViewWrapper || (root.unshiftContainer("body", importWithStyle()), hasImportedViewWrapper = !0);
213
- var name = props.node.name.name,
214
- WrapperIdentifier = root.scope.generateUidIdentifier(name + "Wrapper");
215
- root.pushContainer("body", t.variableDeclaration("const", [t.variableDeclarator(WrapperIdentifier, t.callExpression(t.identifier("__withStableStyle"), [t.identifier(name), t.arrowFunctionExpression([t.identifier("theme"), t.identifier("_expressions")], t.blockStatement([t.returnStatement(t.callExpression(t.memberExpression(t.identifier("React"), t.identifier("useMemo")), [t.arrowFunctionExpression([], t.blockStatement([t.returnStatement(t.arrayExpression([...hocStylesExpr.elements]))])), t.arrayExpression([t.spreadElement(t.identifier("_expressions"))])]))]))]))])), props.node.name = WrapperIdentifier, props.jsxPath.node.closingElement && (props.jsxPath.node.closingElement.name = WrapperIdentifier), expressions.length && props.node.attributes.push(t.jsxAttribute(t.jsxIdentifier("expressions"), t.jsxExpressionContainer(t.arrayExpression(expressions))));
216
- } else props.node.attributes.push(t.jsxAttribute(t.jsxIdentifier("style"), t.jsxExpressionContainer(stylesExpr.elements.length === 1 ? stylesExpr.elements[0] : stylesExpr)));
217
- }
218
- });
219
- } catch (err) {
220
- if (err instanceof Error) {
221
- var message = `${shouldPrintDebug === "verbose" ? err : err.message}`;
222
- message.includes("Unexpected return value from visitor method") && (message = "Unexpected return value from visitor method"), console.warn("Error in Tamagui parse, skipping", message, err.stack);
223
- return;
224
- }
225
- }
226
- if (!Object.keys(sheetStyles).length) {
227
- shouldPrintDebug && console.info("END no styles"), res && printLog(res);
228
- return;
229
- }
230
- var sheetObject = literalToAst(sheetStyles),
231
- sheetOuter = template("const SHEET = __ReactNativeStyleSheet.create(null)")({
232
- SHEET: sheetIdentifier.name
233
- });
234
- sheetOuter.declarations[0].init.arguments[0] = sheetObject, root.unshiftContainer("body", sheetOuter), root.unshiftContainer("body", importStyleSheet()), shouldPrintDebug && (console.info(`
235
- -------- output code -------
236
- `), console.info(generator(root.parent).code.split(`
237
- `).filter(function (x) {
238
- return !x.startsWith("//");
239
- }).join(`
240
- `))), res && printLog(res);
241
- }
242
- }
243
- }
244
- };
245
- }
246
- function assertValidTag(node) {
247
- if (node.attributes.find(function (x) {
248
- return x.type === "JSXAttribute" && x.name.name === "style";
249
- })) {
250
- var _process_env_DEBUG;
251
- !((_process_env_DEBUG = process.env.DEBUG) === null || _process_env_DEBUG === void 0) && _process_env_DEBUG.startsWith("tamagui") && console.warn("\u26A0\uFE0F Cannot pass style attribute to extracted style");
252
- }
253
- }
254
- function splitThemeStyles(style) {
255
- var themed = {},
256
- plain = {},
257
- noTheme = !0;
258
- for (var key in style) {
259
- var val = style[key];
260
- val && val[0] === "$" ? (themed[key] = val, noTheme = !1) : plain[key] = val;
261
- }
262
- return {
263
- themed: noTheme ? null : themed,
264
- plain
265
- };
266
- }
267
- export { extractToNative, getBabelParseDefinition, getBabelPlugin };
268
- //# sourceMappingURL=extractToNative.native.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["basename","transformFromAstSync","generator","declare","parse","template","t","createExtractor","getPragmaOptions","createLogger","isSimpleSpread","literalToAst","loadTamaguiBuildConfigSync","importNativeView","importStyleSheet","importWithStyle","extractor","platform","tamaguiBuildOptionsLoaded","extractToNative","sourceFileName","sourceCode","options","ast","sourceType","plugins","babelPlugin","getBabelPlugin","out","configFile","filename","Error","api","assertVersion","getBabelParseDefinition","name","visitor","Program","enter","root","_process_env_SOURCE_ROOT","_root_node_body__leadingComments","_root_node_body_","sourcePath","file","opts","includes","endsWith","process","env","SOURCE_ROOT","replace","hasImportedView","hasImportedViewWrapper","sheetStyles","sheetIdentifier","scope","generateUidIdentifier","_root_node_body__leadingComments_map_join","firstCommentContents","node","body","leadingComments","map","comment","value","join","firstComment","shouldPrintDebug","shouldDisable","source","path","config","components","finalOptions","printLog","addSheetStyle","style","styleIndex","Object","keys","length","key","NODE_ENV","lineNumbers","loc","start","line","end","readStyleExpr","SHEET","KEY","expression","res","parseSync","importsWhitelist","extractStyledDefinitions","forceExtractStyleDefinitions","excludeProps","Set","disableExtractInlineMedia","disableExtractVariables","experimentalFlattenThemesOnNative","getFlattenedNode","param","isTextView","unshiftContainer","onExtractTag","props","isFlattened","assertValidTag","stylesExpr","arrayExpression","hocStylesExpr","expressions","finalAttrs","themeKeysUsed","getStyleExpression","plain","themed","splitThemeStyles","themeExpr","add","split","getThemedStyleExpression","ident","addStyleExpression","expr","HOC","arguments","Array","isArray","elements","push","styles","themedStylesAst","properties","forEach","_","prop","type","memberExpression","identifier","slice","hasDynamicStyle","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","attrs","Symbol","iterator","_step","next","done","attr","styleExpr","consequent","alternate","consExpr","altExpr","test","conditionalExpression","nullLiteral","styleExpr1","experimentalFlattenDynamicValues","objectExpression","objectProperty","isJSXSpreadAttribute","argument","err","return","attributes","size","WrapperIdentifier","pushContainer","variableDeclaration","variableDeclarator","callExpression","arrowFunctionExpression","blockStatement","returnStatement","spreadElement","jsxPath","closingElement","jsxAttribute","jsxIdentifier","jsxExpressionContainer","message","console","warn","stack","info","sheetObject","sheetOuter","declarations","init","parent","code","filter","x","startsWith","find","_process_env_DEBUG","DEBUG","noTheme","val"],"sources":["../../../src/extractor/extractToNative.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}