@tamagui/static 1.0.1-rc.1.5 → 1.0.1-rc.10

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 (214) hide show
  1. package/dist/cjs/constants.js +49 -0
  2. package/dist/cjs/constants.js.map +7 -0
  3. package/dist/cjs/extractor/accessSafe.js +35 -0
  4. package/dist/cjs/extractor/accessSafe.js.map +7 -0
  5. package/dist/cjs/extractor/babelParse.js +56 -0
  6. package/dist/cjs/extractor/babelParse.js.map +7 -0
  7. package/dist/cjs/extractor/buildClassName.js +64 -0
  8. package/dist/cjs/extractor/buildClassName.js.map +7 -0
  9. package/dist/cjs/extractor/bundle.js +137 -0
  10. package/dist/cjs/extractor/bundle.js.map +7 -0
  11. package/dist/cjs/extractor/createEvaluator.js +81 -0
  12. package/dist/cjs/extractor/createEvaluator.js.map +7 -0
  13. package/dist/cjs/extractor/createExtractor.js +1330 -0
  14. package/dist/cjs/extractor/createExtractor.js.map +7 -0
  15. package/dist/cjs/extractor/defaultTamaguiConfig.js +167 -0
  16. package/dist/cjs/extractor/defaultTamaguiConfig.js.map +7 -0
  17. package/dist/cjs/extractor/ensureImportingConcat.js +48 -0
  18. package/dist/cjs/extractor/ensureImportingConcat.js.map +7 -0
  19. package/dist/cjs/extractor/evaluateAstNode.js +118 -0
  20. package/dist/cjs/extractor/evaluateAstNode.js.map +7 -0
  21. package/dist/cjs/extractor/extractHelpers.js +131 -0
  22. package/dist/cjs/extractor/extractHelpers.js.map +7 -0
  23. package/dist/cjs/extractor/extractMediaStyle.js +174 -0
  24. package/dist/cjs/extractor/extractMediaStyle.js.map +7 -0
  25. package/dist/cjs/extractor/extractToClassNames.js +305 -0
  26. package/dist/cjs/extractor/extractToClassNames.js.map +7 -0
  27. package/dist/cjs/extractor/findTopmostFunction.js +44 -0
  28. package/dist/cjs/extractor/findTopmostFunction.js.map +7 -0
  29. package/dist/cjs/extractor/generatedUid.js +52 -0
  30. package/dist/cjs/extractor/generatedUid.js.map +7 -0
  31. package/dist/cjs/extractor/getPrefixLogs.js +32 -0
  32. package/dist/cjs/extractor/getPrefixLogs.js.map +7 -0
  33. package/dist/cjs/extractor/getPropValueFromAttributes.js +73 -0
  34. package/dist/cjs/extractor/getPropValueFromAttributes.js.map +7 -0
  35. package/dist/cjs/extractor/getSourceModule.js +93 -0
  36. package/dist/cjs/extractor/getSourceModule.js.map +7 -0
  37. package/dist/cjs/extractor/getStaticBindingsForScope.js +184 -0
  38. package/dist/cjs/extractor/getStaticBindingsForScope.js.map +7 -0
  39. package/dist/cjs/extractor/hoistClassNames.js +67 -0
  40. package/dist/cjs/extractor/hoistClassNames.js.map +7 -0
  41. package/dist/cjs/extractor/literalToAst.js +103 -0
  42. package/dist/cjs/extractor/literalToAst.js.map +7 -0
  43. package/dist/cjs/extractor/loadFile.js +21 -0
  44. package/dist/cjs/extractor/loadFile.js.map +7 -0
  45. package/dist/cjs/extractor/loadTamagui.js +105 -0
  46. package/dist/cjs/extractor/loadTamagui.js.map +7 -0
  47. package/dist/cjs/extractor/logLines.js +44 -0
  48. package/dist/cjs/extractor/logLines.js.map +7 -0
  49. package/dist/cjs/extractor/normalizeTernaries.js +76 -0
  50. package/dist/cjs/extractor/normalizeTernaries.js.map +7 -0
  51. package/dist/cjs/extractor/removeUnusedHooks.js +103 -0
  52. package/dist/cjs/extractor/removeUnusedHooks.js.map +7 -0
  53. package/dist/cjs/extractor/timer.js +46 -0
  54. package/dist/cjs/extractor/timer.js.map +7 -0
  55. package/dist/cjs/extractor/validHTMLAttributes.js +127 -0
  56. package/dist/cjs/extractor/validHTMLAttributes.js.map +7 -0
  57. package/dist/cjs/getPragmaOptions.js +67 -0
  58. package/dist/cjs/getPragmaOptions.js.map +7 -0
  59. package/dist/cjs/helpers/memoize.js +45 -0
  60. package/dist/cjs/helpers/memoize.js.map +7 -0
  61. package/dist/cjs/index.js +43 -0
  62. package/dist/cjs/index.js.map +7 -0
  63. package/dist/cjs/require.js +104 -0
  64. package/dist/cjs/require.js.map +7 -0
  65. package/dist/cjs/types.js +17 -0
  66. package/dist/cjs/types.js.map +7 -0
  67. package/dist/cjs/webpackPlugin.js +34 -0
  68. package/dist/cjs/webpackPlugin.js.map +7 -0
  69. package/dist/esm/constants.js +17 -0
  70. package/dist/esm/constants.js.map +7 -0
  71. package/dist/esm/extractor/accessSafe.js +8 -0
  72. package/dist/esm/extractor/accessSafe.js.map +7 -0
  73. package/dist/esm/extractor/babelParse.js +28 -0
  74. package/dist/esm/extractor/babelParse.js.map +7 -0
  75. package/dist/esm/extractor/buildClassName.js +37 -0
  76. package/dist/esm/extractor/buildClassName.js.map +7 -0
  77. package/dist/esm/extractor/bundle.js +112 -0
  78. package/dist/esm/extractor/bundle.js.map +7 -0
  79. package/dist/esm/extractor/createEvaluator.js +53 -0
  80. package/dist/esm/extractor/createEvaluator.js.map +7 -0
  81. package/dist/esm/extractor/createExtractor.js +1311 -0
  82. package/dist/esm/extractor/createExtractor.js.map +7 -0
  83. package/dist/esm/extractor/defaultTamaguiConfig.js +143 -0
  84. package/dist/esm/extractor/defaultTamaguiConfig.js.map +7 -0
  85. package/dist/esm/extractor/ensureImportingConcat.js +21 -0
  86. package/dist/esm/extractor/ensureImportingConcat.js.map +7 -0
  87. package/dist/esm/extractor/evaluateAstNode.js +91 -0
  88. package/dist/esm/extractor/evaluateAstNode.js.map +7 -0
  89. package/dist/esm/extractor/extractHelpers.js +97 -0
  90. package/dist/esm/extractor/extractHelpers.js.map +7 -0
  91. package/dist/esm/extractor/extractMediaStyle.js +146 -0
  92. package/dist/esm/extractor/extractMediaStyle.js.map +7 -0
  93. package/dist/esm/extractor/extractToClassNames.js +278 -0
  94. package/dist/esm/extractor/extractToClassNames.js.map +7 -0
  95. package/dist/esm/extractor/findTopmostFunction.js +20 -0
  96. package/dist/esm/extractor/findTopmostFunction.js.map +7 -0
  97. package/dist/esm/extractor/generatedUid.js +25 -0
  98. package/dist/esm/extractor/generatedUid.js.map +7 -0
  99. package/dist/esm/extractor/getPrefixLogs.js +8 -0
  100. package/dist/esm/extractor/getPrefixLogs.js.map +7 -0
  101. package/dist/esm/extractor/getPropValueFromAttributes.js +46 -0
  102. package/dist/esm/extractor/getPropValueFromAttributes.js.map +7 -0
  103. package/dist/esm/extractor/getSourceModule.js +66 -0
  104. package/dist/esm/extractor/getSourceModule.js.map +7 -0
  105. package/dist/esm/extractor/getStaticBindingsForScope.js +157 -0
  106. package/dist/esm/extractor/getStaticBindingsForScope.js.map +7 -0
  107. package/dist/esm/extractor/hoistClassNames.js +40 -0
  108. package/dist/esm/extractor/hoistClassNames.js.map +7 -0
  109. package/dist/esm/extractor/literalToAst.js +75 -0
  110. package/dist/esm/extractor/literalToAst.js.map +7 -0
  111. package/dist/esm/extractor/loadFile.js +20 -0
  112. package/dist/esm/extractor/loadFile.js.map +7 -0
  113. package/dist/esm/extractor/loadTamagui.js +81 -0
  114. package/dist/esm/extractor/loadTamagui.js.map +7 -0
  115. package/dist/esm/extractor/logLines.js +20 -0
  116. package/dist/esm/extractor/logLines.js.map +7 -0
  117. package/dist/esm/extractor/normalizeTernaries.js +49 -0
  118. package/dist/esm/extractor/normalizeTernaries.js.map +7 -0
  119. package/dist/esm/extractor/removeUnusedHooks.js +76 -0
  120. package/dist/esm/extractor/removeUnusedHooks.js.map +7 -0
  121. package/dist/esm/extractor/timer.js +22 -0
  122. package/dist/esm/extractor/timer.js.map +7 -0
  123. package/dist/esm/extractor/validHTMLAttributes.js +102 -0
  124. package/dist/esm/extractor/validHTMLAttributes.js.map +7 -0
  125. package/dist/esm/getPragmaOptions.js +44 -0
  126. package/dist/esm/getPragmaOptions.js.map +7 -0
  127. package/dist/esm/helpers/memoize.js +22 -0
  128. package/dist/esm/helpers/memoize.js.map +7 -0
  129. package/dist/esm/index.js +16 -0
  130. package/dist/esm/index.js.map +7 -0
  131. package/dist/esm/require.js +78 -0
  132. package/dist/esm/require.js.map +7 -0
  133. package/dist/esm/types.js +1 -0
  134. package/dist/esm/types.js.map +7 -0
  135. package/dist/esm/webpackPlugin.js +11 -0
  136. package/dist/esm/webpackPlugin.js.map +7 -0
  137. package/dist/extractor/createExtractor.js +97 -40
  138. package/dist/extractor/createExtractor.js.map +2 -2
  139. package/dist/extractor/getStaticBindingsForScope.js +1 -1
  140. package/dist/extractor/getStaticBindingsForScope.js.map +1 -1
  141. package/dist/extractor/loadTamagui.js +25 -13
  142. package/dist/extractor/loadTamagui.js.map +2 -2
  143. package/dist/jsx/constants.js +17 -0
  144. package/dist/jsx/constants.js.map +7 -0
  145. package/dist/jsx/extractor/accessSafe.js +8 -0
  146. package/dist/jsx/extractor/accessSafe.js.map +7 -0
  147. package/dist/jsx/extractor/babelParse.js +28 -0
  148. package/dist/jsx/extractor/babelParse.js.map +7 -0
  149. package/dist/jsx/extractor/buildClassName.js +37 -0
  150. package/dist/jsx/extractor/buildClassName.js.map +7 -0
  151. package/dist/jsx/extractor/bundle.js +86 -0
  152. package/dist/jsx/extractor/bundle.js.map +7 -0
  153. package/dist/jsx/extractor/createEvaluator.js +53 -0
  154. package/dist/jsx/extractor/createEvaluator.js.map +7 -0
  155. package/dist/jsx/extractor/createExtractor.js +1311 -0
  156. package/dist/jsx/extractor/createExtractor.js.map +7 -0
  157. package/dist/jsx/extractor/defaultTamaguiConfig.js +143 -0
  158. package/dist/jsx/extractor/defaultTamaguiConfig.js.map +7 -0
  159. package/dist/jsx/extractor/ensureImportingConcat.js +21 -0
  160. package/dist/jsx/extractor/ensureImportingConcat.js.map +7 -0
  161. package/dist/jsx/extractor/evaluateAstNode.js +91 -0
  162. package/dist/jsx/extractor/evaluateAstNode.js.map +7 -0
  163. package/dist/jsx/extractor/extractHelpers.js +97 -0
  164. package/dist/jsx/extractor/extractHelpers.js.map +7 -0
  165. package/dist/jsx/extractor/extractMediaStyle.js +146 -0
  166. package/dist/jsx/extractor/extractMediaStyle.js.map +7 -0
  167. package/dist/jsx/extractor/extractToClassNames.js +280 -0
  168. package/dist/jsx/extractor/extractToClassNames.js.map +7 -0
  169. package/dist/jsx/extractor/findTopmostFunction.js +20 -0
  170. package/dist/jsx/extractor/findTopmostFunction.js.map +7 -0
  171. package/dist/jsx/extractor/generatedUid.js +25 -0
  172. package/dist/jsx/extractor/generatedUid.js.map +7 -0
  173. package/dist/jsx/extractor/getPrefixLogs.js +9 -0
  174. package/dist/jsx/extractor/getPrefixLogs.js.map +7 -0
  175. package/dist/jsx/extractor/getPropValueFromAttributes.js +46 -0
  176. package/dist/jsx/extractor/getPropValueFromAttributes.js.map +7 -0
  177. package/dist/jsx/extractor/getSourceModule.js +66 -0
  178. package/dist/jsx/extractor/getSourceModule.js.map +7 -0
  179. package/dist/jsx/extractor/getStaticBindingsForScope.js +157 -0
  180. package/dist/jsx/extractor/getStaticBindingsForScope.js.map +7 -0
  181. package/dist/jsx/extractor/hoistClassNames.js +40 -0
  182. package/dist/jsx/extractor/hoistClassNames.js.map +7 -0
  183. package/dist/jsx/extractor/literalToAst.js +75 -0
  184. package/dist/jsx/extractor/literalToAst.js.map +7 -0
  185. package/dist/jsx/extractor/loadFile.js +20 -0
  186. package/dist/jsx/extractor/loadFile.js.map +7 -0
  187. package/dist/jsx/extractor/loadTamagui.js +81 -0
  188. package/dist/jsx/extractor/loadTamagui.js.map +7 -0
  189. package/dist/jsx/extractor/logLines.js +20 -0
  190. package/dist/jsx/extractor/logLines.js.map +7 -0
  191. package/dist/jsx/extractor/normalizeTernaries.js +50 -0
  192. package/dist/jsx/extractor/normalizeTernaries.js.map +7 -0
  193. package/dist/jsx/extractor/removeUnusedHooks.js +77 -0
  194. package/dist/jsx/extractor/removeUnusedHooks.js.map +7 -0
  195. package/dist/jsx/extractor/timer.js +22 -0
  196. package/dist/jsx/extractor/timer.js.map +7 -0
  197. package/dist/jsx/extractor/validHTMLAttributes.js +102 -0
  198. package/dist/jsx/extractor/validHTMLAttributes.js.map +7 -0
  199. package/dist/jsx/getPragmaOptions.js +44 -0
  200. package/dist/jsx/getPragmaOptions.js.map +7 -0
  201. package/dist/jsx/helpers/memoize.js +22 -0
  202. package/dist/jsx/helpers/memoize.js.map +7 -0
  203. package/dist/jsx/index.js +16 -0
  204. package/dist/jsx/index.js.map +7 -0
  205. package/dist/jsx/require.js +78 -0
  206. package/dist/jsx/require.js.map +7 -0
  207. package/dist/jsx/types.js +1 -0
  208. package/dist/jsx/types.js.map +7 -0
  209. package/dist/jsx/webpackPlugin.js +11 -0
  210. package/dist/jsx/webpackPlugin.js.map +7 -0
  211. package/package.json +18 -19
  212. package/src/extractor/createExtractor.ts +141 -54
  213. package/src/extractor/getStaticBindingsForScope.ts +1 -1
  214. package/src/extractor/loadTamagui.ts +28 -10
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var constants_exports = {};
23
+ __export(constants_exports, {
24
+ CONCAT_CLASSNAME_IMPORT: () => CONCAT_CLASSNAME_IMPORT,
25
+ CSS_FILE_NAME: () => CSS_FILE_NAME,
26
+ FAILED_EVAL: () => FAILED_EVAL,
27
+ MEDIA_SEP: () => MEDIA_SEP,
28
+ SHOULD_DEBUG: () => SHOULD_DEBUG,
29
+ cacheDir: () => cacheDir
30
+ });
31
+ module.exports = __toCommonJS(constants_exports);
32
+ var import_find_cache_dir = __toESM(require("find-cache-dir"));
33
+ var _a;
34
+ const CSS_FILE_NAME = "__snack.css";
35
+ const MEDIA_SEP = "_";
36
+ const cacheDir = (0, import_find_cache_dir.default)({ name: "tamagui", create: true });
37
+ const FAILED_EVAL = Symbol("failed_style_eval");
38
+ const CONCAT_CLASSNAME_IMPORT = "concatClassName";
39
+ const SHOULD_DEBUG = process.env.DEBUG === "*" || ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui"));
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ CONCAT_CLASSNAME_IMPORT,
43
+ CSS_FILE_NAME,
44
+ FAILED_EVAL,
45
+ MEDIA_SEP,
46
+ SHOULD_DEBUG,
47
+ cacheDir
48
+ });
49
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants.ts"],
4
+ "sourcesContent": ["import findCacheDir from 'find-cache-dir'\n\nexport const CSS_FILE_NAME = '__snack.css'\n\n// ENSURE THIS ISNT THE SAME AS THE SEPARATOR USED FOR STYLE KEYS\n// SEE matching one in concatClassName\nexport const MEDIA_SEP = '_'\n\n// ensure cache dir\nexport const cacheDir = findCacheDir({ name: 'tamagui', create: true })\n\nexport const FAILED_EVAL = Symbol('failed_style_eval')\nexport const CONCAT_CLASSNAME_IMPORT = 'concatClassName'\n\nexport const SHOULD_DEBUG = process.env.DEBUG === '*' || process.env.DEBUG?.startsWith('tamagui')\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAyB;AAAzB;AAEO,MAAM,gBAAgB;AAItB,MAAM,YAAY;AAGlB,MAAM,WAAW,mCAAa,EAAE,MAAM,WAAW,QAAQ,KAAK,CAAC;AAE/D,MAAM,cAAc,OAAO,mBAAmB;AAC9C,MAAM,0BAA0B;AAEhC,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,eAAQ,IAAI,UAAZ,mBAAmB,WAAW;",
6
+ "names": []
7
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var accessSafe_exports = {};
23
+ __export(accessSafe_exports, {
24
+ accessSafe: () => accessSafe
25
+ });
26
+ module.exports = __toCommonJS(accessSafe_exports);
27
+ var t = __toESM(require("@babel/types"));
28
+ function accessSafe(obj, member) {
29
+ return t.logicalExpression("&&", t.logicalExpression("&&", t.binaryExpression("===", t.unaryExpression("typeof", obj), t.stringLiteral("object")), t.binaryExpression("!==", obj, t.nullLiteral())), t.memberExpression(obj, t.identifier(member), false));
30
+ }
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ accessSafe
34
+ });
35
+ //# sourceMappingURL=accessSafe.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extractor/accessSafe.ts"],
4
+ "sourcesContent": ["import * as t from '@babel/types'\n\n// accessSafe wraps memberExpressions in object/null checks\n// TODO: inject this as a function? this gets pretty repetitive\nexport function accessSafe(obj: t.Expression, member: string): t.LogicalExpression {\n return t.logicalExpression(\n '&&',\n t.logicalExpression(\n '&&',\n // typeof obj === 'object\n t.binaryExpression('===', t.unaryExpression('typeof', obj), t.stringLiteral('object')),\n // obj !== null\n t.binaryExpression('!==', obj, t.nullLiteral())\n ),\n // obj.member\n t.memberExpression(obj, t.identifier(member), false)\n )\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAmB;AAIZ,oBAAoB,KAAmB,QAAqC;AACjF,SAAO,EAAE,kBACP,MACA,EAAE,kBACA,MAEA,EAAE,iBAAiB,OAAO,EAAE,gBAAgB,UAAU,GAAG,GAAG,EAAE,cAAc,QAAQ,CAAC,GAErF,EAAE,iBAAiB,OAAO,KAAK,EAAE,YAAY,CAAC,CAChD,GAEA,EAAE,iBAAiB,KAAK,EAAE,WAAW,MAAM,GAAG,KAAK,CACrD;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var babelParse_exports = {};
23
+ __export(babelParse_exports, {
24
+ babelParse: () => babelParse,
25
+ parserOptions: () => parserOptions
26
+ });
27
+ module.exports = __toCommonJS(babelParse_exports);
28
+ var babelParser = __toESM(require("@babel/parser"));
29
+ const plugins = [
30
+ "asyncGenerators",
31
+ "classProperties",
32
+ "dynamicImport",
33
+ "functionBind",
34
+ "jsx",
35
+ "numericSeparator",
36
+ "objectRestSpread",
37
+ "optionalCatchBinding",
38
+ "decorators-legacy",
39
+ "typescript",
40
+ "optionalChaining",
41
+ "nullishCoalescingOperator"
42
+ ];
43
+ const parserOptions = Object.freeze({
44
+ plugins,
45
+ sourceType: "module"
46
+ });
47
+ const parser = babelParser.parse.bind(babelParser);
48
+ function babelParse(code) {
49
+ return parser(code.toString(), parserOptions);
50
+ }
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ babelParse,
54
+ parserOptions
55
+ });
56
+ //# sourceMappingURL=babelParse.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extractor/babelParse.ts"],
4
+ "sourcesContent": ["import * as babelParser from '@babel/parser'\n\nconst plugins: babelParser.ParserPlugin[] = [\n 'asyncGenerators',\n 'classProperties',\n 'dynamicImport',\n 'functionBind',\n 'jsx',\n 'numericSeparator',\n 'objectRestSpread',\n 'optionalCatchBinding',\n 'decorators-legacy',\n 'typescript',\n 'optionalChaining',\n 'nullishCoalescingOperator',\n]\n\nexport const parserOptions: babelParser.ParserOptions = Object.freeze({\n plugins,\n sourceType: 'module',\n})\n\nconst parser = babelParser.parse.bind(babelParser)\n\nexport function babelParse(code: string | Buffer): any {\n return parser(code.toString(), parserOptions)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B;AAE7B,MAAM,UAAsC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,gBAA2C,OAAO,OAAO;AAAA,EACpE;AAAA,EACA,YAAY;AACd,CAAC;AAED,MAAM,SAAS,YAAY,MAAM,KAAK,WAAW;AAE1C,oBAAoB,MAA4B;AACrD,SAAO,OAAO,KAAK,SAAS,GAAG,aAAa;AAC9C;",
6
+ "names": []
7
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var buildClassName_exports = {};
23
+ __export(buildClassName_exports, {
24
+ buildClassName: () => buildClassName
25
+ });
26
+ module.exports = __toCommonJS(buildClassName_exports);
27
+ var t = __toESM(require("@babel/types"));
28
+ function buildClassName(classNameObjects) {
29
+ return classNameObjects.reduce((acc, val) => {
30
+ if (acc == null) {
31
+ if (t.isConditionalExpression(val) || t.isStringLiteral(val) || t.isNumericLiteral(val)) {
32
+ return val;
33
+ }
34
+ return t.logicalExpression("||", val, t.stringLiteral(""));
35
+ }
36
+ let inner;
37
+ if (t.isStringLiteral(val)) {
38
+ if (t.isStringLiteral(acc)) {
39
+ return t.stringLiteral(`${acc.value} ${val.value}`);
40
+ }
41
+ inner = t.stringLiteral(` ${val.value}`);
42
+ } else if (t.isLiteral(val)) {
43
+ inner = t.binaryExpression("+", t.stringLiteral(" "), val);
44
+ } else if (t.isConditionalExpression(val) || t.isBinaryExpression(val)) {
45
+ if (t.isStringLiteral(acc)) {
46
+ return t.binaryExpression("+", t.stringLiteral(`${acc.value} `), val);
47
+ }
48
+ inner = t.binaryExpression("+", t.stringLiteral(" "), val);
49
+ } else if (t.isIdentifier(val) || t.isMemberExpression(val)) {
50
+ inner = t.conditionalExpression(val, t.binaryExpression("+", t.stringLiteral(" "), val), t.stringLiteral(""));
51
+ } else {
52
+ if (t.isStringLiteral(acc)) {
53
+ return t.binaryExpression("+", t.stringLiteral(`${acc.value} `), t.logicalExpression("||", val, t.stringLiteral("")));
54
+ }
55
+ inner = t.binaryExpression("+", t.stringLiteral(" "), t.logicalExpression("||", val, t.stringLiteral("")));
56
+ }
57
+ return t.binaryExpression("+", acc, inner);
58
+ }, null);
59
+ }
60
+ // Annotate the CommonJS export names for ESM import in node:
61
+ 0 && (module.exports = {
62
+ buildClassName
63
+ });
64
+ //# sourceMappingURL=buildClassName.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extractor/buildClassName.ts"],
4
+ "sourcesContent": ["import * as t from '@babel/types'\n\nimport { ClassNameObject } from '../types'\n\nexport function buildClassName(\n classNameObjects: ClassNameObject[]\n): t.Expression | t.StringLiteral | null {\n return classNameObjects.reduce<t.Expression | null>((acc, val) => {\n if (acc == null) {\n if (\n // pass conditional expressions through\n t.isConditionalExpression(val) ||\n // pass non-null literals through\n t.isStringLiteral(val) ||\n t.isNumericLiteral(val)\n ) {\n return val\n }\n return t.logicalExpression('||', val, t.stringLiteral(''))\n }\n\n let inner: t.Expression\n if (t.isStringLiteral(val)) {\n if (t.isStringLiteral(acc)) {\n // join adjacent string literals\n return t.stringLiteral(`${acc.value} ${val.value}`)\n }\n inner = t.stringLiteral(` ${val.value}`)\n } else if (t.isLiteral(val)) {\n inner = t.binaryExpression('+', t.stringLiteral(' '), val)\n } else if (t.isConditionalExpression(val) || t.isBinaryExpression(val)) {\n if (t.isStringLiteral(acc)) {\n return t.binaryExpression('+', t.stringLiteral(`${acc.value} `), val)\n }\n inner = t.binaryExpression('+', t.stringLiteral(' '), val)\n } else if (t.isIdentifier(val) || t.isMemberExpression(val)) {\n // identifiers and member expressions make for reasonable ternaries\n inner = t.conditionalExpression(\n val,\n t.binaryExpression('+', t.stringLiteral(' '), val),\n t.stringLiteral('')\n )\n } else {\n if (t.isStringLiteral(acc)) {\n return t.binaryExpression(\n '+',\n t.stringLiteral(`${acc.value} `),\n t.logicalExpression('||', val, t.stringLiteral(''))\n )\n }\n // use a logical expression for more complex prop values\n inner = t.binaryExpression(\n '+',\n t.stringLiteral(' '),\n t.logicalExpression('||', val, t.stringLiteral(''))\n )\n }\n\n return t.binaryExpression('+', acc, inner)\n }, null)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAmB;AAIZ,wBACL,kBACuC;AACvC,SAAO,iBAAiB,OAA4B,CAAC,KAAK,QAAQ;AAChE,QAAI,OAAO,MAAM;AACf,UAEE,EAAE,wBAAwB,GAAG,KAE7B,EAAE,gBAAgB,GAAG,KACrB,EAAE,iBAAiB,GAAG,GACtB;AACA,eAAO;AAAA,MACT;AACA,aAAO,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC;AAAA,IAC3D;AAEA,QAAI;AACJ,QAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,UAAI,EAAE,gBAAgB,GAAG,GAAG;AAE1B,eAAO,EAAE,cAAc,GAAG,IAAI,SAAS,IAAI,OAAO;AAAA,MACpD;AACA,cAAQ,EAAE,cAAc,IAAI,IAAI,OAAO;AAAA,IACzC,WAAW,EAAE,UAAU,GAAG,GAAG;AAC3B,cAAQ,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,IAC3D,WAAW,EAAE,wBAAwB,GAAG,KAAK,EAAE,mBAAmB,GAAG,GAAG;AACtE,UAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,eAAO,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,IAAI,QAAQ,GAAG,GAAG;AAAA,MACtE;AACA,cAAQ,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,IAC3D,WAAW,EAAE,aAAa,GAAG,KAAK,EAAE,mBAAmB,GAAG,GAAG;AAE3D,cAAQ,EAAE,sBACR,KACA,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG,GACjD,EAAE,cAAc,EAAE,CACpB;AAAA,IACF,OAAO;AACL,UAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,eAAO,EAAE,iBACP,KACA,EAAE,cAAc,GAAG,IAAI,QAAQ,GAC/B,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC,CACpD;AAAA,MACF;AAEA,cAAQ,EAAE,iBACR,KACA,EAAE,cAAc,GAAG,GACnB,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC,CACpD;AAAA,IACF;AAEA,WAAO,EAAE,iBAAiB,KAAK,KAAK,KAAK;AAAA,EAC3C,GAAG,IAAI;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,137 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ var __export = (target, all) => {
34
+ for (var name in all)
35
+ __defProp(target, name, { get: all[name], enumerable: true });
36
+ };
37
+ var __copyProps = (to, from, except, desc) => {
38
+ if (from && typeof from === "object" || typeof from === "function") {
39
+ for (let key of __getOwnPropNames(from))
40
+ if (!__hasOwnProp.call(to, key) && key !== except)
41
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
42
+ }
43
+ return to;
44
+ };
45
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
46
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
47
+ var bundle_exports = {};
48
+ __export(bundle_exports, {
49
+ bundle: () => bundle,
50
+ bundleSync: () => bundleSync
51
+ });
52
+ module.exports = __toCommonJS(bundle_exports);
53
+ var import_path = require("path");
54
+ var import_esbuild = __toESM(require("esbuild"));
55
+ var import_fs_extra = require("fs-extra");
56
+ var import_loadTamagui = require("./loadTamagui");
57
+ function getESBuildConfig(_a, aliases) {
58
+ var _b = _a, { entryPoints, resolvePlatformSpecificEntries } = _b, options = __objRest(_b, ["entryPoints", "resolvePlatformSpecificEntries"]);
59
+ var _a2;
60
+ const alias = require("@tamagui/core-node").aliasPlugin;
61
+ if ((_a2 = process.env.DEBUG) == null ? void 0 : _a2.startsWith("tamagui")) {
62
+ console.log(`Building`, entryPoints);
63
+ }
64
+ const tsconfig = (0, import_path.join)(__dirname, "..", "..", "tamagui.tsconfig.json");
65
+ const resolvedEntryPoints = !resolvePlatformSpecificEntries ? entryPoints : entryPoints.map(import_loadTamagui.resolveWebOrNativeSpecificEntry);
66
+ const res = __spreadValues({
67
+ bundle: true,
68
+ entryPoints: resolvedEntryPoints,
69
+ format: "cjs",
70
+ target: "node18",
71
+ jsx: "transform",
72
+ jsxFactory: "react",
73
+ allowOverwrite: true,
74
+ keepNames: true,
75
+ platform: "node",
76
+ tsconfig,
77
+ loader: {
78
+ ".js": "jsx"
79
+ },
80
+ logLevel: "warning",
81
+ plugins: [
82
+ {
83
+ name: "external",
84
+ setup(build) {
85
+ build.onResolve({ filter: /@tamagui\/core/ }, (args) => {
86
+ return {
87
+ path: "@tamagui/core-node",
88
+ external: true
89
+ };
90
+ });
91
+ build.onResolve({ filter: /^(react-native|react-native\/.*)$/ }, (args) => {
92
+ return {
93
+ path: "react-native-web-lite",
94
+ external: true
95
+ };
96
+ });
97
+ }
98
+ },
99
+ alias(__spreadValues({}, aliases))
100
+ ]
101
+ }, options);
102
+ return res;
103
+ }
104
+ async function bundle(props, aliases) {
105
+ await asyncLock(props);
106
+ return import_esbuild.default.build(getESBuildConfig(props, aliases));
107
+ }
108
+ function bundleSync(props, aliases) {
109
+ return import_esbuild.default.buildSync(getESBuildConfig(props, aliases));
110
+ }
111
+ async function asyncLock(props) {
112
+ var _a;
113
+ const lockFile = (0, import_path.join)((0, import_path.dirname)(props.outfile), (0, import_path.basename)(props.outfile, ".lock"));
114
+ const lockStat = await (0, import_fs_extra.stat)(lockFile).catch(() => {
115
+ });
116
+ const lockedMsAgo = !lockStat ? Infinity : new Date().getTime() - new Date(lockStat.mtime).getTime();
117
+ if (lockedMsAgo < 500) {
118
+ if ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui")) {
119
+ console.log(`Waiting for existing build`, props.entryPoints);
120
+ }
121
+ let tries = 5;
122
+ while (tries--) {
123
+ if (await (0, import_fs_extra.pathExists)(props.outfile)) {
124
+ return;
125
+ } else {
126
+ await new Promise((res) => setTimeout(res, 50));
127
+ }
128
+ }
129
+ }
130
+ void (0, import_fs_extra.writeFile)(lockFile, "");
131
+ }
132
+ // Annotate the CommonJS export names for ESM import in node:
133
+ 0 && (module.exports = {
134
+ bundle,
135
+ bundleSync
136
+ });
137
+ //# sourceMappingURL=bundle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extractor/bundle.ts"],
4
+ "sourcesContent": ["import { basename, dirname, join } from 'path'\n\nimport esbuild from 'esbuild'\nimport { pathExists, stat, writeFile } from 'fs-extra'\n\nimport { resolveWebOrNativeSpecificEntry } from './loadTamagui'\n\n/**\n * For internal loading of new files\n */\n\ntype Props = Omit<Partial<esbuild.BuildOptions>, 'entryPoints'> & {\n outfile: string\n entryPoints: string[]\n resolvePlatformSpecificEntries?: boolean\n}\n\nfunction getESBuildConfig(\n { entryPoints, resolvePlatformSpecificEntries, ...options }: Props,\n aliases?: Record<string, string>\n) {\n const alias = require('@tamagui/core-node').aliasPlugin\n if (process.env.DEBUG?.startsWith('tamagui')) {\n // eslint-disable-next-line no-console\n console.log(`Building`, entryPoints)\n }\n const tsconfig = join(__dirname, '..', '..', 'tamagui.tsconfig.json')\n\n const resolvedEntryPoints = !resolvePlatformSpecificEntries\n ? entryPoints\n : entryPoints.map(resolveWebOrNativeSpecificEntry)\n\n const res: esbuild.BuildOptions = {\n bundle: true,\n entryPoints: resolvedEntryPoints,\n format: 'cjs',\n target: 'node18',\n jsx: 'transform',\n jsxFactory: 'react',\n allowOverwrite: true,\n keepNames: true,\n platform: 'node',\n tsconfig,\n loader: {\n '.js': 'jsx',\n },\n logLevel: 'warning',\n plugins: [\n {\n name: 'external',\n setup(build) {\n build.onResolve({ filter: /@tamagui\\/core/ }, (args) => {\n return {\n path: '@tamagui/core-node',\n external: true,\n }\n })\n\n build.onResolve({ filter: /^(react-native|react-native\\/.*)$/ }, (args) => {\n return {\n path: 'react-native-web-lite',\n external: true,\n }\n })\n },\n },\n alias({\n ...aliases,\n }),\n ],\n ...options,\n }\n\n return res\n}\n\nexport async function bundle(props: Props, aliases?: Record<string, string>) {\n await asyncLock(props)\n return esbuild.build(getESBuildConfig(props, aliases))\n}\n\nexport function bundleSync(props: Props, aliases?: Record<string, string>) {\n return esbuild.buildSync(getESBuildConfig(props, aliases))\n}\n\n// until i do fancier things w plugins:\nasync function asyncLock(props: Props) {\n const lockFile = join(dirname(props.outfile), basename(props.outfile, '.lock'))\n const lockStat = await stat(lockFile).catch(() => {\n /* ok */\n })\n const lockedMsAgo = !lockStat\n ? Infinity\n : new Date().getTime() - new Date(lockStat.mtime).getTime()\n if (lockedMsAgo < 500) {\n if (process.env.DEBUG?.startsWith('tamagui')) {\n // eslint-disable-next-line no-console\n console.log(`Waiting for existing build`, props.entryPoints)\n }\n let tries = 5\n while (tries--) {\n if (await pathExists(props.outfile)) {\n return\n } else {\n await new Promise((res) => setTimeout(res, 50))\n }\n }\n }\n void writeFile(lockFile, '')\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwC;AAExC,qBAAoB;AACpB,sBAA4C;AAE5C,yBAAgD;AAYhD,0BACE,IACA,SACA;AAFA,eAAE,eAAa,mCAAf,IAAkD,oBAAlD,IAAkD,CAAhD,eAAa;AAlBjB;AAqBE,QAAM,QAAQ,QAAQ,oBAAoB,EAAE;AAC5C,MAAI,eAAQ,IAAI,UAAZ,oBAAmB,WAAW,YAAY;AAE5C,YAAQ,IAAI,YAAY,WAAW;AAAA,EACrC;AACA,QAAM,WAAW,sBAAK,WAAW,MAAM,MAAM,uBAAuB;AAEpE,QAAM,sBAAsB,CAAC,iCACzB,cACA,YAAY,IAAI,kDAA+B;AAEnD,QAAM,MAA4B;AAAA,IAChC,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,IACV;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,IACV,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,OAAO;AACX,gBAAM,UAAU,EAAE,QAAQ,iBAAiB,GAAG,CAAC,SAAS;AACtD,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AAAA,UACF,CAAC;AAED,gBAAM,UAAU,EAAE,QAAQ,oCAAoC,GAAG,CAAC,SAAS;AACzE,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,MACA,MAAM,mBACD,QACJ;AAAA,IACH;AAAA,KACG;AAGL,SAAO;AACT;AAEA,sBAA6B,OAAc,SAAkC;AAC3E,QAAM,UAAU,KAAK;AACrB,SAAO,uBAAQ,MAAM,iBAAiB,OAAO,OAAO,CAAC;AACvD;AAEO,oBAAoB,OAAc,SAAkC;AACzE,SAAO,uBAAQ,UAAU,iBAAiB,OAAO,OAAO,CAAC;AAC3D;AAGA,yBAAyB,OAAc;AAtFvC;AAuFE,QAAM,WAAW,sBAAK,yBAAQ,MAAM,OAAO,GAAG,0BAAS,MAAM,SAAS,OAAO,CAAC;AAC9E,QAAM,WAAW,MAAM,0BAAK,QAAQ,EAAE,MAAM,MAAM;AAAA,EAElD,CAAC;AACD,QAAM,cAAc,CAAC,WACjB,WACA,IAAI,KAAK,EAAE,QAAQ,IAAI,IAAI,KAAK,SAAS,KAAK,EAAE,QAAQ;AAC5D,MAAI,cAAc,KAAK;AACrB,QAAI,cAAQ,IAAI,UAAZ,mBAAmB,WAAW,YAAY;AAE5C,cAAQ,IAAI,8BAA8B,MAAM,WAAW;AAAA,IAC7D;AACA,QAAI,QAAQ;AACZ,WAAO,SAAS;AACd,UAAI,MAAM,gCAAW,MAAM,OAAO,GAAG;AACnC;AAAA,MACF,OAAO;AACL,cAAM,IAAI,QAAQ,CAAC,QAAQ,WAAW,KAAK,EAAE,CAAC;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AACA,OAAK,+BAAU,UAAU,EAAE;AAC7B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var createEvaluator_exports = {};
23
+ __export(createEvaluator_exports, {
24
+ createEvaluator: () => createEvaluator,
25
+ createSafeEvaluator: () => createSafeEvaluator
26
+ });
27
+ module.exports = __toCommonJS(createEvaluator_exports);
28
+ var import_vm = __toESM(require("vm"));
29
+ var import_generator = __toESM(require("@babel/generator"));
30
+ var t = __toESM(require("@babel/types"));
31
+ var import_core_node = require("@tamagui/core-node");
32
+ var import_esbuild = __toESM(require("esbuild"));
33
+ var import_constants = require("../constants");
34
+ var import_evaluateAstNode = require("./evaluateAstNode");
35
+ var import_extractHelpers = require("./extractHelpers");
36
+ function createEvaluator({
37
+ tamaguiConfig,
38
+ staticNamespace,
39
+ sourcePath,
40
+ traversePath,
41
+ shouldPrintDebug
42
+ }) {
43
+ const evalFn = (n) => {
44
+ if (t.isMemberExpression(n) && t.isIdentifier(n.property) && traversePath && (0, import_extractHelpers.isValidThemeHook)(traversePath, n, sourcePath)) {
45
+ const key = n.property.name;
46
+ if (shouldPrintDebug) {
47
+ console.log(" > found theme prop", key);
48
+ }
49
+ console.log("SHOULD FIND THEME (NESTED NOW)", key);
50
+ return (0, import_core_node.createCSSVariable)(key);
51
+ }
52
+ if (t.isIdentifier(n) && staticNamespace.hasOwnProperty(n.name)) {
53
+ return staticNamespace[n.name];
54
+ }
55
+ const evalContext = import_vm.default.createContext(staticNamespace);
56
+ const codeWithTypescriptAnnotations = `(${(0, import_generator.default)(n).code})`;
57
+ const code = import_esbuild.default.transformSync(codeWithTypescriptAnnotations, { loader: "tsx" }).code.replace(/;\n$/, "");
58
+ if (shouldPrintDebug) {
59
+ console.log("evaluating", code);
60
+ }
61
+ return import_vm.default.runInContext(code, evalContext);
62
+ };
63
+ return (n) => {
64
+ return (0, import_evaluateAstNode.evaluateAstNode)(n, evalFn);
65
+ };
66
+ }
67
+ function createSafeEvaluator(attemptEval) {
68
+ return (n) => {
69
+ try {
70
+ return attemptEval(n);
71
+ } catch (err) {
72
+ return import_constants.FAILED_EVAL;
73
+ }
74
+ };
75
+ }
76
+ // Annotate the CommonJS export names for ESM import in node:
77
+ 0 && (module.exports = {
78
+ createEvaluator,
79
+ createSafeEvaluator
80
+ });
81
+ //# sourceMappingURL=createEvaluator.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extractor/createEvaluator.ts"],
4
+ "sourcesContent": ["import vm from 'vm'\n\nimport generate from '@babel/generator'\nimport { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\nimport type { TamaguiConfig } from '@tamagui/core-node'\nimport { createCSSVariable } from '@tamagui/core-node'\nimport esbuild from 'esbuild'\n\nimport { FAILED_EVAL } from '../constants'\nimport { evaluateAstNode } from './evaluateAstNode'\nimport { isValidThemeHook } from './extractHelpers'\n\nexport function createEvaluator({\n tamaguiConfig,\n staticNamespace,\n sourcePath,\n traversePath,\n shouldPrintDebug,\n}: {\n tamaguiConfig: TamaguiConfig\n staticNamespace: Record<string, any>\n sourcePath: string\n traversePath?: NodePath<t.JSXElement>\n shouldPrintDebug: boolean | 'verbose'\n}) {\n // called when evaluateAstNode encounters a dynamic-looking prop\n const evalFn = (n: t.Node) => {\n // themes\n if (\n t.isMemberExpression(n) &&\n t.isIdentifier(n.property) &&\n traversePath &&\n isValidThemeHook(traversePath, n, sourcePath)\n ) {\n const key = n.property.name\n if (shouldPrintDebug) {\n console.log(' > found theme prop', key)\n }\n console.log('SHOULD FIND THEME (NESTED NOW)', key) // tamaguiConfig.themes)\n // if (!themeKeys.has(key)) {\n // throw new Error(` > accessing non-existent theme key: ${key}`)\n // }\n return createCSSVariable(key)\n }\n // variable\n if (t.isIdentifier(n) && staticNamespace.hasOwnProperty(n.name)) {\n return staticNamespace[n.name]\n }\n const evalContext = vm.createContext(staticNamespace)\n const codeWithTypescriptAnnotations = `(${generate(n as any).code})`\n const code = esbuild\n .transformSync(codeWithTypescriptAnnotations, { loader: 'tsx' })\n .code.replace(/;\\n$/, '')\n\n if (shouldPrintDebug) {\n console.log('evaluating', code)\n }\n return vm.runInContext(code, evalContext)\n }\n\n return (n: t.Node) => {\n return evaluateAstNode(n, evalFn)\n }\n}\n\nexport function createSafeEvaluator(attemptEval: (n: t.Node) => any) {\n return (n: t.Node) => {\n try {\n return attemptEval(n)\n } catch (err) {\n return FAILED_EVAL\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AAEf,uBAAqB;AAErB,QAAmB;AAEnB,uBAAkC;AAClC,qBAAoB;AAEpB,uBAA4B;AAC5B,6BAAgC;AAChC,4BAAiC;AAE1B,yBAAyB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAOC;AAED,QAAM,SAAS,CAAC,MAAc;AAE5B,QACE,EAAE,mBAAmB,CAAC,KACtB,EAAE,aAAa,EAAE,QAAQ,KACzB,gBACA,4CAAiB,cAAc,GAAG,UAAU,GAC5C;AACA,YAAM,MAAM,EAAE,SAAS;AACvB,UAAI,kBAAkB;AACpB,gBAAQ,IAAI,0BAA0B,GAAG;AAAA,MAC3C;AACA,cAAQ,IAAI,kCAAkC,GAAG;AAIjD,aAAO,wCAAkB,GAAG;AAAA,IAC9B;AAEA,QAAI,EAAE,aAAa,CAAC,KAAK,gBAAgB,eAAe,EAAE,IAAI,GAAG;AAC/D,aAAO,gBAAgB,EAAE;AAAA,IAC3B;AACA,UAAM,cAAc,kBAAG,cAAc,eAAe;AACpD,UAAM,gCAAgC,IAAI,8BAAS,CAAQ,EAAE;AAC7D,UAAM,OAAO,uBACV,cAAc,+BAA+B,EAAE,QAAQ,MAAM,CAAC,EAC9D,KAAK,QAAQ,QAAQ,EAAE;AAE1B,QAAI,kBAAkB;AACpB,cAAQ,IAAI,cAAc,IAAI;AAAA,IAChC;AACA,WAAO,kBAAG,aAAa,MAAM,WAAW;AAAA,EAC1C;AAEA,SAAO,CAAC,MAAc;AACpB,WAAO,4CAAgB,GAAG,MAAM;AAAA,EAClC;AACF;AAEO,6BAA6B,aAAiC;AACnE,SAAO,CAAC,MAAc;AACpB,QAAI;AACF,aAAO,YAAY,CAAC;AAAA,IACtB,SAAS,KAAP;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }