@tamagui/static 1.1.7 → 1.1.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 (155) hide show
  1. package/dist/{constants.js → cjs/constants.js} +4 -0
  2. package/dist/{constants.js.map → cjs/constants.js.map} +2 -2
  3. package/dist/{extractor → cjs/extractor}/accessSafe.js +7 -0
  4. package/dist/cjs/extractor/accessSafe.js.map +7 -0
  5. package/dist/{extractor → cjs/extractor}/babelParse.js +4 -0
  6. package/dist/cjs/extractor/babelParse.js.map +7 -0
  7. package/dist/{extractor → cjs/extractor}/buildClassName.js +9 -1
  8. package/dist/cjs/extractor/buildClassName.js.map +7 -0
  9. package/dist/{extractor → cjs/extractor}/bundle.js +7 -3
  10. package/dist/cjs/extractor/bundle.js.map +7 -0
  11. package/dist/{extractor → cjs/extractor}/createEvaluator.js +4 -0
  12. package/dist/cjs/extractor/createEvaluator.js.map +7 -0
  13. package/dist/{extractor → cjs/extractor}/createExtractor.js +34 -6
  14. package/dist/cjs/extractor/createExtractor.js.map +7 -0
  15. package/dist/{extractor → cjs/extractor}/ensureImportingConcat.js +4 -0
  16. package/dist/cjs/extractor/ensureImportingConcat.js.map +7 -0
  17. package/dist/{extractor → cjs/extractor}/evaluateAstNode.js +4 -0
  18. package/dist/cjs/extractor/evaluateAstNode.js.map +7 -0
  19. package/dist/{extractor → cjs/extractor}/extractHelpers.js +8 -1
  20. package/dist/cjs/extractor/extractHelpers.js.map +7 -0
  21. package/dist/{extractor → cjs/extractor}/extractMediaStyle.js +4 -0
  22. package/dist/cjs/extractor/extractMediaStyle.js.map +7 -0
  23. package/dist/{extractor → cjs/extractor}/extractToClassNames.js +6 -3
  24. package/dist/cjs/extractor/extractToClassNames.js.map +7 -0
  25. package/dist/{extractor → cjs/extractor}/findTopmostFunction.js +0 -0
  26. package/dist/{extractor → cjs/extractor}/findTopmostFunction.js.map +1 -1
  27. package/dist/{extractor → cjs/extractor}/generatedUid.js +4 -0
  28. package/dist/cjs/extractor/generatedUid.js.map +7 -0
  29. package/dist/{extractor → cjs/extractor}/getPrefixLogs.js +0 -0
  30. package/dist/{extractor → cjs/extractor}/getPrefixLogs.js.map +1 -1
  31. package/dist/{extractor → cjs/extractor}/getPropValueFromAttributes.js +8 -1
  32. package/dist/cjs/extractor/getPropValueFromAttributes.js.map +7 -0
  33. package/dist/{extractor → cjs/extractor}/getSourceModule.js +9 -1
  34. package/dist/cjs/extractor/getSourceModule.js.map +7 -0
  35. package/dist/{extractor → cjs/extractor}/getStaticBindingsForScope.js +4 -0
  36. package/dist/cjs/extractor/getStaticBindingsForScope.js.map +7 -0
  37. package/dist/{extractor → cjs/extractor}/hoistClassNames.js +5 -0
  38. package/dist/cjs/extractor/hoistClassNames.js.map +7 -0
  39. package/dist/{extractor → cjs/extractor}/literalToAst.js +5 -0
  40. package/dist/cjs/extractor/literalToAst.js.map +7 -0
  41. package/dist/{extractor → cjs/extractor}/loadFile.js +0 -0
  42. package/dist/{extractor → cjs/extractor}/loadFile.js.map +1 -1
  43. package/dist/{extractor → cjs/extractor}/loadTamagui.js +12 -5
  44. package/dist/cjs/extractor/loadTamagui.js.map +7 -0
  45. package/dist/{extractor → cjs/extractor}/logLines.js +0 -0
  46. package/dist/{extractor → cjs/extractor}/logLines.js.map +2 -2
  47. package/dist/{extractor → cjs/extractor}/normalizeTernaries.js +4 -0
  48. package/dist/cjs/extractor/normalizeTernaries.js.map +7 -0
  49. package/dist/{extractor → cjs/extractor}/removeUnusedHooks.js +4 -0
  50. package/dist/cjs/extractor/removeUnusedHooks.js.map +7 -0
  51. package/dist/{extractor → cjs/extractor}/timer.js +0 -0
  52. package/dist/{extractor → cjs/extractor}/timer.js.map +1 -1
  53. package/dist/{extractor → cjs/extractor}/validHTMLAttributes.js +0 -0
  54. package/dist/{extractor → cjs/extractor}/validHTMLAttributes.js.map +1 -1
  55. package/dist/{getPragmaOptions.js → cjs/getPragmaOptions.js} +0 -0
  56. package/dist/{getPragmaOptions.js.map → cjs/getPragmaOptions.js.map} +2 -2
  57. package/dist/{helpers → cjs/helpers}/memoize.js +0 -0
  58. package/dist/{helpers → cjs/helpers}/memoize.js.map +2 -2
  59. package/dist/{index.js → cjs/index.js} +0 -0
  60. package/dist/{index.js.map → cjs/index.js.map} +1 -1
  61. package/dist/{require.js → cjs/require.js} +2 -1
  62. package/dist/{require.js.map → cjs/require.js.map} +2 -2
  63. package/dist/{types.js → cjs/types.js} +0 -0
  64. package/dist/cjs/types.js.map +7 -0
  65. package/dist/{webpackPlugin.js → cjs/webpackPlugin.js} +0 -0
  66. package/dist/{webpackPlugin.js.map → cjs/webpackPlugin.js.map} +1 -1
  67. package/dist/esm/constants.js +15 -0
  68. package/dist/esm/constants.js.map +7 -0
  69. package/dist/esm/extractor/accessSafe.js +19 -0
  70. package/dist/{extractor → esm/extractor}/accessSafe.js.map +2 -2
  71. package/dist/esm/extractor/babelParse.js +32 -0
  72. package/dist/{extractor → esm/extractor}/babelParse.js.map +2 -2
  73. package/dist/esm/extractor/buildClassName.js +65 -0
  74. package/dist/{extractor → esm/extractor}/buildClassName.js.map +2 -2
  75. package/dist/esm/extractor/bundle.js +86 -0
  76. package/dist/esm/extractor/bundle.js.map +7 -0
  77. package/dist/esm/extractor/createEvaluator.js +52 -0
  78. package/dist/esm/extractor/createEvaluator.js.map +7 -0
  79. package/dist/esm/extractor/createExtractor.js +1612 -0
  80. package/dist/esm/extractor/createExtractor.js.map +7 -0
  81. package/dist/esm/extractor/ensureImportingConcat.js +31 -0
  82. package/dist/{extractor → esm/extractor}/ensureImportingConcat.js.map +2 -2
  83. package/dist/esm/extractor/evaluateAstNode.js +97 -0
  84. package/dist/{extractor → esm/extractor}/evaluateAstNode.js.map +2 -2
  85. package/dist/esm/extractor/extractHelpers.js +162 -0
  86. package/dist/esm/extractor/extractHelpers.js.map +7 -0
  87. package/dist/esm/extractor/extractMediaStyle.js +159 -0
  88. package/dist/{extractor → esm/extractor}/extractMediaStyle.js.map +2 -2
  89. package/dist/esm/extractor/extractToClassNames.js +381 -0
  90. package/dist/esm/extractor/extractToClassNames.js.map +7 -0
  91. package/dist/esm/extractor/findTopmostFunction.js +20 -0
  92. package/dist/esm/extractor/findTopmostFunction.js.map +7 -0
  93. package/dist/esm/extractor/generatedUid.js +26 -0
  94. package/dist/{extractor → esm/extractor}/generatedUid.js.map +2 -2
  95. package/dist/esm/extractor/getPrefixLogs.js +8 -0
  96. package/dist/esm/extractor/getPrefixLogs.js.map +7 -0
  97. package/dist/esm/extractor/getPropValueFromAttributes.js +56 -0
  98. package/dist/{extractor → esm/extractor}/getPropValueFromAttributes.js.map +4 -4
  99. package/dist/esm/extractor/getSourceModule.js +70 -0
  100. package/dist/{extractor → esm/extractor}/getSourceModule.js.map +2 -2
  101. package/dist/esm/extractor/getStaticBindingsForScope.js +191 -0
  102. package/dist/{extractor → esm/extractor}/getStaticBindingsForScope.js.map +2 -2
  103. package/dist/esm/extractor/hoistClassNames.js +41 -0
  104. package/dist/{extractor → esm/extractor}/hoistClassNames.js.map +2 -2
  105. package/dist/esm/extractor/literalToAst.js +81 -0
  106. package/dist/{extractor → esm/extractor}/literalToAst.js.map +2 -2
  107. package/dist/esm/extractor/loadFile.js +20 -0
  108. package/dist/esm/extractor/loadFile.js.map +7 -0
  109. package/dist/esm/extractor/loadTamagui.js +411 -0
  110. package/dist/esm/extractor/loadTamagui.js.map +7 -0
  111. package/dist/esm/extractor/logLines.js +20 -0
  112. package/dist/esm/extractor/logLines.js.map +7 -0
  113. package/dist/esm/extractor/normalizeTernaries.js +52 -0
  114. package/dist/esm/extractor/normalizeTernaries.js.map +7 -0
  115. package/dist/esm/extractor/removeUnusedHooks.js +76 -0
  116. package/dist/{extractor → esm/extractor}/removeUnusedHooks.js.map +2 -2
  117. package/dist/esm/extractor/timer.js +29 -0
  118. package/dist/esm/extractor/timer.js.map +7 -0
  119. package/dist/esm/extractor/validHTMLAttributes.js +102 -0
  120. package/dist/esm/extractor/validHTMLAttributes.js.map +7 -0
  121. package/dist/esm/getPragmaOptions.js +44 -0
  122. package/dist/esm/getPragmaOptions.js.map +7 -0
  123. package/dist/esm/helpers/memoize.js +22 -0
  124. package/dist/esm/helpers/memoize.js.map +7 -0
  125. package/dist/esm/index.js +16 -0
  126. package/dist/esm/index.js.map +7 -0
  127. package/dist/esm/require.js +61 -0
  128. package/dist/esm/require.js.map +7 -0
  129. package/dist/esm/types.js +1 -0
  130. package/dist/esm/types.js.map +7 -0
  131. package/dist/esm/webpackPlugin.js +11 -0
  132. package/dist/esm/webpackPlugin.js.map +7 -0
  133. package/package.json +18 -18
  134. package/src/extractor/bundle.ts +2 -2
  135. package/src/extractor/createEvaluator.ts +1 -0
  136. package/src/extractor/createExtractor.ts +1 -0
  137. package/src/extractor/extractHelpers.ts +14 -5
  138. package/src/extractor/extractToClassNames.ts +2 -2
  139. package/src/extractor/getPropValueFromAttributes.ts +4 -1
  140. package/src/extractor/loadTamagui.ts +12 -7
  141. package/src/extractor/normalizeTernaries.ts +1 -0
  142. package/src/types.ts +7 -4
  143. package/types/extractor/bundle.d.ts +2 -2
  144. package/types/extractor/createExtractor.d.ts +1 -1
  145. package/types/extractor/extractHelpers.d.ts +2 -6
  146. package/types/extractor/getPrefixLogs.d.ts +1 -1
  147. package/types/types.d.ts +3 -3
  148. package/dist/extractor/bundle.js.map +0 -7
  149. package/dist/extractor/createEvaluator.js.map +0 -7
  150. package/dist/extractor/createExtractor.js.map +0 -7
  151. package/dist/extractor/extractHelpers.js.map +0 -7
  152. package/dist/extractor/extractToClassNames.js.map +0 -7
  153. package/dist/extractor/loadTamagui.js.map +0 -7
  154. package/dist/extractor/normalizeTernaries.js.map +0 -7
  155. package/dist/types.js.map +0 -7
@@ -0,0 +1,76 @@
1
+ import * as t from "@babel/types";
2
+ const hooks = {
3
+ useMedia: true,
4
+ useTheme: true
5
+ };
6
+ function removeUnusedHooks(compFn, shouldPrintDebug) {
7
+ compFn.scope.crawl();
8
+ let bodyStatements = compFn == null ? void 0 : compFn.get("body");
9
+ if (!bodyStatements) {
10
+ console.log("no body statemnts?", compFn);
11
+ return;
12
+ }
13
+ if (!Array.isArray(bodyStatements)) {
14
+ if (bodyStatements.isFunctionExpression()) {
15
+ bodyStatements = bodyStatements.scope.path.get("body");
16
+ } else {
17
+ bodyStatements = bodyStatements.get("body");
18
+ }
19
+ }
20
+ if (!bodyStatements || !Array.isArray(bodyStatements)) {
21
+ return;
22
+ }
23
+ const statements = bodyStatements;
24
+ for (const statement of statements) {
25
+ if (!statement.isVariableDeclaration()) {
26
+ continue;
27
+ }
28
+ const declarations = statement.get("declarations");
29
+ if (!Array.isArray(declarations)) {
30
+ continue;
31
+ }
32
+ const isBindingReferenced = (name) => {
33
+ var _a;
34
+ return !!((_a = statement.scope.getBinding(name)) == null ? void 0 : _a.referenced);
35
+ };
36
+ for (const declarator of declarations) {
37
+ const id = declarator.get("id");
38
+ const init = declarator.node.init;
39
+ if (Array.isArray(id) || Array.isArray(init)) {
40
+ continue;
41
+ }
42
+ const shouldRemove = (() => {
43
+ const isHook = t.isCallExpression(init) && t.isIdentifier(init.callee) && hooks[init.callee.name];
44
+ if (!isHook) {
45
+ return false;
46
+ }
47
+ if (t.isIdentifier(id.node)) {
48
+ const name = id.node.name;
49
+ return !isBindingReferenced(name);
50
+ } else if (t.isObjectPattern(id.node)) {
51
+ const propPaths = id.get("properties");
52
+ return propPaths.every((prop) => {
53
+ if (!prop.isObjectProperty())
54
+ return false;
55
+ const value = prop.get("value");
56
+ if (Array.isArray(value) || !value.isIdentifier())
57
+ return false;
58
+ const name = value.node.name;
59
+ return !isBindingReferenced(name);
60
+ });
61
+ }
62
+ return false;
63
+ })();
64
+ if (shouldRemove) {
65
+ declarator.remove();
66
+ if (shouldPrintDebug) {
67
+ console.log(` [\u{1FA9D}] removed ${id.node["name"] ?? ""}`);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ export {
74
+ removeUnusedHooks
75
+ };
76
+ //# sourceMappingURL=removeUnusedHooks.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/extractor/removeUnusedHooks.ts"],
3
+ "sources": ["../../../src/extractor/removeUnusedHooks.ts"],
4
4
  "sourcesContent": ["import { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\n\nconst hooks = {\n useMedia: true,\n useTheme: true,\n}\n\nexport function removeUnusedHooks(compFn: NodePath<any>, shouldPrintDebug: boolean | 'verbose') {\n compFn.scope.crawl()\n // check the top level statements\n let bodyStatements = compFn?.get('body')\n if (!bodyStatements) {\n // eslint-disable-next-line no-console\n console.log('no body statemnts?', compFn)\n return\n }\n if (!Array.isArray(bodyStatements)) {\n if (bodyStatements.isFunctionExpression()) {\n bodyStatements = bodyStatements.scope.path.get('body')\n } else {\n bodyStatements = bodyStatements.get('body')\n }\n }\n if (!bodyStatements || !Array.isArray(bodyStatements)) {\n return\n }\n const statements = bodyStatements as NodePath<any>[]\n for (const statement of statements) {\n if (!statement.isVariableDeclaration()) {\n continue\n }\n const declarations = statement.get('declarations')\n if (!Array.isArray(declarations)) {\n continue\n }\n const isBindingReferenced = (name: string) => {\n return !!statement.scope.getBinding(name)?.referenced\n }\n for (const declarator of declarations) {\n const id = declarator.get('id')\n const init = declarator.node.init\n if (Array.isArray(id) || Array.isArray(init)) {\n continue\n }\n const shouldRemove = (() => {\n const isHook =\n t.isCallExpression(init) && t.isIdentifier(init.callee) && hooks[init.callee.name]\n if (!isHook) {\n return false\n }\n if (t.isIdentifier(id.node)) {\n // remove \"const media = useMedia()\"\n const name = id.node.name\n return !isBindingReferenced(name)\n } else if (t.isObjectPattern(id.node)) {\n // remove \"const { sm } = useMedia()\"\n const propPaths = id.get('properties') as NodePath<any>[]\n return propPaths.every((prop) => {\n if (!prop.isObjectProperty()) return false\n const value = prop.get('value')\n if (Array.isArray(value) || !value.isIdentifier()) return false\n const name = value.node.name\n return !isBindingReferenced(name)\n })\n }\n return false\n })()\n if (shouldRemove) {\n declarator.remove()\n if (shouldPrintDebug) {\n // eslint-disable-next-line no-console\n console.log(` [\uD83E\uDE9D] removed ${id.node['name'] ?? ''}`)\n }\n }\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,QAAmB;AAEnB,MAAM,QAAQ;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,SAAS,kBAAkB,QAAuB,kBAAuC;AAC9F,SAAO,MAAM,MAAM;AAEnB,MAAI,iBAAiB,iCAAQ,IAAI;AACjC,MAAI,CAAC,gBAAgB;AAEnB,YAAQ,IAAI,sBAAsB,MAAM;AACxC;AAAA,EACF;AACA,MAAI,CAAC,MAAM,QAAQ,cAAc,GAAG;AAClC,QAAI,eAAe,qBAAqB,GAAG;AACzC,uBAAiB,eAAe,MAAM,KAAK,IAAI,MAAM;AAAA,IACvD,OAAO;AACL,uBAAiB,eAAe,IAAI,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,MAAI,CAAC,kBAAkB,CAAC,MAAM,QAAQ,cAAc,GAAG;AACrD;AAAA,EACF;AACA,QAAM,aAAa;AACnB,aAAW,aAAa,YAAY;AAClC,QAAI,CAAC,UAAU,sBAAsB,GAAG;AACtC;AAAA,IACF;AACA,UAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAI,CAAC,MAAM,QAAQ,YAAY,GAAG;AAChC;AAAA,IACF;AACA,UAAM,sBAAsB,CAAC,SAAiB;AApClD;AAqCM,aAAO,CAAC,GAAC,eAAU,MAAM,WAAW,IAAI,MAA/B,mBAAkC;AAAA,IAC7C;AACA,eAAW,cAAc,cAAc;AACrC,YAAM,KAAK,WAAW,IAAI,IAAI;AAC9B,YAAM,OAAO,WAAW,KAAK;AAC7B,UAAI,MAAM,QAAQ,EAAE,KAAK,MAAM,QAAQ,IAAI,GAAG;AAC5C;AAAA,MACF;AACA,YAAM,gBAAgB,MAAM;AAC1B,cAAM,SACJ,EAAE,iBAAiB,IAAI,KAAK,EAAE,aAAa,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO;AAC/E,YAAI,CAAC,QAAQ;AACX,iBAAO;AAAA,QACT;AACA,YAAI,EAAE,aAAa,GAAG,IAAI,GAAG;AAE3B,gBAAM,OAAO,GAAG,KAAK;AACrB,iBAAO,CAAC,oBAAoB,IAAI;AAAA,QAClC,WAAW,EAAE,gBAAgB,GAAG,IAAI,GAAG;AAErC,gBAAM,YAAY,GAAG,IAAI,YAAY;AACrC,iBAAO,UAAU,MAAM,CAAC,SAAS;AAC/B,gBAAI,CAAC,KAAK,iBAAiB;AAAG,qBAAO;AACrC,kBAAM,QAAQ,KAAK,IAAI,OAAO;AAC9B,gBAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,aAAa;AAAG,qBAAO;AAC1D,kBAAM,OAAO,MAAM,KAAK;AACxB,mBAAO,CAAC,oBAAoB,IAAI;AAAA,UAClC,CAAC;AAAA,QACH;AACA,eAAO;AAAA,MACT,GAAG;AACH,UAAI,cAAc;AAChB,mBAAW,OAAO;AAClB,YAAI,kBAAkB;AAEpB,kBAAQ,IAAI,yBAAkB,GAAG,KAAK,WAAW,IAAI;AAAA,QACvD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
5
+ "mappings": "AACA,YAAY,OAAO;AAEnB,MAAM,QAAQ;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,SAAS,kBAAkB,QAAuB,kBAAuC;AAC9F,SAAO,MAAM,MAAM;AAEnB,MAAI,iBAAiB,iCAAQ,IAAI;AACjC,MAAI,CAAC,gBAAgB;AAEnB,YAAQ,IAAI,sBAAsB,MAAM;AACxC;AAAA,EACF;AACA,MAAI,CAAC,MAAM,QAAQ,cAAc,GAAG;AAClC,QAAI,eAAe,qBAAqB,GAAG;AACzC,uBAAiB,eAAe,MAAM,KAAK,IAAI,MAAM;AAAA,IACvD,OAAO;AACL,uBAAiB,eAAe,IAAI,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,MAAI,CAAC,kBAAkB,CAAC,MAAM,QAAQ,cAAc,GAAG;AACrD;AAAA,EACF;AACA,QAAM,aAAa;AACnB,aAAW,aAAa,YAAY;AAClC,QAAI,CAAC,UAAU,sBAAsB,GAAG;AACtC;AAAA,IACF;AACA,UAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAI,CAAC,MAAM,QAAQ,YAAY,GAAG;AAChC;AAAA,IACF;AACA,UAAM,sBAAsB,CAAC,SAAiB;AApClD;AAqCM,aAAO,CAAC,GAAC,eAAU,MAAM,WAAW,IAAI,MAA/B,mBAAkC;AAAA,IAC7C;AACA,eAAW,cAAc,cAAc;AACrC,YAAM,KAAK,WAAW,IAAI,IAAI;AAC9B,YAAM,OAAO,WAAW,KAAK;AAC7B,UAAI,MAAM,QAAQ,EAAE,KAAK,MAAM,QAAQ,IAAI,GAAG;AAC5C;AAAA,MACF;AACA,YAAM,gBAAgB,MAAM;AAC1B,cAAM,SACJ,EAAE,iBAAiB,IAAI,KAAK,EAAE,aAAa,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI;AACnF,YAAI,CAAC,QAAQ;AACX,iBAAO;AAAA,QACT;AACA,YAAI,EAAE,aAAa,GAAG,IAAI,GAAG;AAE3B,gBAAM,OAAO,GAAG,KAAK;AACrB,iBAAO,CAAC,oBAAoB,IAAI;AAAA,QAClC,WAAW,EAAE,gBAAgB,GAAG,IAAI,GAAG;AAErC,gBAAM,YAAY,GAAG,IAAI,YAAY;AACrC,iBAAO,UAAU,MAAM,CAAC,SAAS;AAC/B,gBAAI,CAAC,KAAK,iBAAiB;AAAG,qBAAO;AACrC,kBAAM,QAAQ,KAAK,IAAI,OAAO;AAC9B,gBAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,aAAa;AAAG,qBAAO;AAC1D,kBAAM,OAAO,MAAM,KAAK;AACxB,mBAAO,CAAC,oBAAoB,IAAI;AAAA,UAClC,CAAC;AAAA,QACH;AACA,eAAO;AAAA,MACT,GAAG;AACH,UAAI,cAAc;AAChB,mBAAW,OAAO;AAClB,YAAI,kBAAkB;AAEpB,kBAAQ,IAAI,yBAAkB,GAAG,KAAK,MAAM,KAAK,IAAI;AAAA,QACvD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,29 @@
1
+ const timer = () => {
2
+ const start = Date.now();
3
+ let last = start;
4
+ return {
5
+ mark: (name, print = false) => {
6
+ if (print) {
7
+ const took = Date.now() - last;
8
+ last = Date.now();
9
+ console.log(`Time ${name}: ${took}ms`);
10
+ if (took > 10) {
11
+ console.log(" long timer");
12
+ }
13
+ }
14
+ },
15
+ done: (print = false) => {
16
+ if (print) {
17
+ const total = Date.now() - start;
18
+ console.log(`Total time: ${total}ms`);
19
+ if (total > 50) {
20
+ console.log(" long timer");
21
+ }
22
+ }
23
+ }
24
+ };
25
+ };
26
+ export {
27
+ timer
28
+ };
29
+ //# sourceMappingURL=timer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extractor/timer.ts"],
4
+ "sourcesContent": ["export const timer = () => {\n const start = Date.now()\n let last = start\n return {\n mark: (name: string, print = false) => {\n if (print) {\n const took = Date.now() - last\n last = Date.now()\n // eslint-disable-next-line no-console\n console.log(`Time ${name}: ${took}ms`)\n if (took > 10) {\n // eslint-disable-next-line no-console\n console.log(' long timer')\n }\n }\n },\n done: (print = false) => {\n if (print) {\n const total = Date.now() - start\n // eslint-disable-next-line no-console\n console.log(`Total time: ${total}ms`)\n if (total > 50) {\n // eslint-disable-next-line no-console\n console.log(' long timer')\n }\n }\n },\n }\n}\n"],
5
+ "mappings": "AAAO,MAAM,QAAQ,MAAM;AACzB,QAAM,QAAQ,KAAK,IAAI;AACvB,MAAI,OAAO;AACX,SAAO;AAAA,IACL,MAAM,CAAC,MAAc,QAAQ,UAAU;AACrC,UAAI,OAAO;AACT,cAAM,OAAO,KAAK,IAAI,IAAI;AAC1B,eAAO,KAAK,IAAI;AAEhB,gBAAQ,IAAI,QAAQ,SAAS,QAAQ;AACrC,YAAI,OAAO,IAAI;AAEb,kBAAQ,IAAI,cAAc;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM,CAAC,QAAQ,UAAU;AACvB,UAAI,OAAO;AACT,cAAM,QAAQ,KAAK,IAAI,IAAI;AAE3B,gBAAQ,IAAI,eAAe,SAAS;AACpC,YAAI,QAAQ,IAAI;AAEd,kBAAQ,IAAI,cAAc;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,102 @@
1
+ const validHTMLAttributes = {
2
+ autocomplete: true,
3
+ border: true,
4
+ contenteditable: true,
5
+ crossorigin: true,
6
+ dir: true,
7
+ draggable: true,
8
+ enctype: true,
9
+ formenctype: true,
10
+ formmethod: true,
11
+ formtarget: true,
12
+ inputmode: true,
13
+ kind: true,
14
+ link: true,
15
+ method: true,
16
+ preload: true,
17
+ referrerpolicy: true,
18
+ rel: true,
19
+ rev: true,
20
+ role: true,
21
+ sandbox: true,
22
+ shape: true,
23
+ spellcheck: true,
24
+ target: true,
25
+ translate: true,
26
+ type: true,
27
+ wrap: true,
28
+ "aria-autocomplete": true,
29
+ "aria-busy": true,
30
+ "aria-checked": true,
31
+ "aria-current": true,
32
+ "aria-disabled": true,
33
+ "aria-expanded": true,
34
+ "aria-haspopup": true,
35
+ "aria-hidden": true,
36
+ "aria-invalid": true,
37
+ "aria-polite": true,
38
+ "aria-modal": true,
39
+ "aria-multiline": true,
40
+ "aria-multiselectable": true,
41
+ "aria-orientation": true,
42
+ "aria-pressed": true,
43
+ "aria-readonly": true,
44
+ "aria-relevant": true,
45
+ "aria-required": true,
46
+ "aria-selected": true,
47
+ "aria-sort": true
48
+ };
49
+ const validAccessibilityAttributes = {
50
+ accessibilityRole: true,
51
+ accessibilityActiveDescendant: true,
52
+ accessibilityAtomic: true,
53
+ accessibilityAutoComplete: true,
54
+ accessibilityBusy: true,
55
+ accessibilityChecked: true,
56
+ accessibilityColumnCount: true,
57
+ accessibilityColumnIndex: true,
58
+ accessibilityColumnSpan: true,
59
+ accessibilityControls: true,
60
+ accessibilityCurrent: true,
61
+ accessibilityDescribedBy: true,
62
+ accessibilityDetails: true,
63
+ disabled: true,
64
+ accessibilityErrorMessage: true,
65
+ accessibilityExpanded: true,
66
+ accessibilityFlowTo: true,
67
+ accessibilityHasPopup: true,
68
+ accessibilityHidden: true,
69
+ accessibilityInvalid: true,
70
+ accessibilityKeyShortcuts: true,
71
+ accessibilityLabel: true,
72
+ accessibilityLabelledBy: true,
73
+ accessibilityLevel: true,
74
+ accessibilityLiveRegion: true,
75
+ accessibilityModal: true,
76
+ accessibilityMultiline: true,
77
+ accessibilityMultiSelectable: true,
78
+ accessibilityOrientation: true,
79
+ accessibilityOwns: true,
80
+ accessibilityPlaceholder: true,
81
+ accessibilityPosInSet: true,
82
+ accessibilityPressed: true,
83
+ accessibilityReadOnly: true,
84
+ accessibilityRequired: true,
85
+ accessibilityRoleDescription: true,
86
+ accessibilityRowCount: true,
87
+ accessibilityRowIndex: true,
88
+ accessibilityRowSpan: true,
89
+ accessibilitySelected: true,
90
+ accessibilitySetSize: true,
91
+ accessibilitySort: true,
92
+ accessibilityValueMax: true,
93
+ accessibilityValueMin: true,
94
+ accessibilityValueNow: true,
95
+ accessibilityValueText: true,
96
+ nativeID: true
97
+ };
98
+ export {
99
+ validAccessibilityAttributes,
100
+ validHTMLAttributes
101
+ };
102
+ //# sourceMappingURL=validHTMLAttributes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extractor/validHTMLAttributes.ts"],
4
+ "sourcesContent": ["export const validHTMLAttributes = {\n autocomplete: true,\n border: true,\n contenteditable: true,\n crossorigin: true,\n dir: true,\n draggable: true,\n enctype: true,\n formenctype: true,\n formmethod: true,\n formtarget: true,\n inputmode: true,\n kind: true,\n link: true,\n method: true,\n preload: true,\n referrerpolicy: true,\n rel: true,\n rev: true,\n role: true,\n sandbox: true,\n shape: true,\n spellcheck: true,\n target: true,\n translate: true,\n type: true,\n wrap: true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-current': true,\n 'aria-disabled': true,\n 'aria-expanded': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-polite': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-relevant': true,\n 'aria-required': true,\n 'aria-selected': true,\n 'aria-sort': true,\n}\n\n// for moving off react-native-web eventually (unused atm)\nexport const validAccessibilityAttributes = {\n accessibilityRole: true,\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n disabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true,\n nativeID: true,\n}\n"],
5
+ "mappings": "AAAO,MAAM,sBAAsB;AAAA,EACjC,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,KAAK;AAAA,EACL,WAAW;AAAA,EACX,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,aAAa;AACf;AAGO,MAAM,+BAA+B;AAAA,EAC1C,mBAAmB;AAAA,EACnB,+BAA+B;AAAA,EAC/B,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,yBAAyB;AAAA,EACzB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA,EAC1B,sBAAsB;AAAA,EACtB,UAAU;AAAA,EACV,2BAA2B;AAAA,EAC3B,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,2BAA2B;AAAA,EAC3B,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,8BAA8B;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,8BAA8B;AAAA,EAC9B,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,UAAU;AACZ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,44 @@
1
+ function getPragmaOptions({
2
+ source,
3
+ path,
4
+ disableCommentCheck
5
+ }) {
6
+ var _a, _b;
7
+ if (!disableCommentCheck && !source.startsWith("//") && !source.startsWith("/*")) {
8
+ return {
9
+ shouldPrintDebug: false,
10
+ shouldDisable: false
11
+ };
12
+ }
13
+ let shouldPrintDebug = false;
14
+ let shouldDisable = false;
15
+ const firstLine = source.slice(0, 800).split("\n")[0];
16
+ if (firstLine.includes("tamagui-ignore")) {
17
+ shouldDisable = true;
18
+ }
19
+ if (firstLine.includes("debug")) {
20
+ shouldPrintDebug = true;
21
+ }
22
+ if (firstLine.includes("debug-verbose")) {
23
+ shouldPrintDebug = "verbose";
24
+ }
25
+ if (process.env.TAMAGUI_DEBUG_FILE) {
26
+ if (path.includes(process.env.TAMAGUI_DEBUG_FILE)) {
27
+ shouldPrintDebug = "verbose";
28
+ }
29
+ }
30
+ if ((_a = process.env.DEBUG) == null ? void 0 : _a.includes("tamagui")) {
31
+ shouldPrintDebug = true;
32
+ }
33
+ if ((_b = process.env.DEBUG) == null ? void 0 : _b.includes("tamagui-verbose")) {
34
+ shouldPrintDebug = "verbose";
35
+ }
36
+ return {
37
+ shouldPrintDebug,
38
+ shouldDisable
39
+ };
40
+ }
41
+ export {
42
+ getPragmaOptions
43
+ };
44
+ //# sourceMappingURL=getPragmaOptions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/getPragmaOptions.ts"],
4
+ "sourcesContent": ["export function getPragmaOptions({\n source,\n path,\n disableCommentCheck,\n}: {\n source: string\n path: string\n disableCommentCheck?: boolean\n}) {\n if (!disableCommentCheck && !source.startsWith('//') && !source.startsWith('/*')) {\n return {\n shouldPrintDebug: false,\n shouldDisable: false,\n }\n }\n\n let shouldPrintDebug: boolean | 'verbose' = false\n let shouldDisable = false\n\n // try and avoid too much parsing but sometimes esbuild adds helpers above..\n const firstLine = source.slice(0, 800).split('\\n')[0]\n\n if (firstLine.includes('tamagui-ignore')) {\n shouldDisable = true\n }\n\n if (firstLine.includes('debug')) {\n shouldPrintDebug = true\n }\n\n if (firstLine.includes('debug-verbose')) {\n shouldPrintDebug = 'verbose'\n }\n\n if (process.env.TAMAGUI_DEBUG_FILE) {\n if (path.includes(process.env.TAMAGUI_DEBUG_FILE)) {\n shouldPrintDebug = 'verbose'\n }\n }\n\n if (process.env.DEBUG?.includes('tamagui')) {\n shouldPrintDebug = true\n }\n\n if (process.env.DEBUG?.includes('tamagui-verbose')) {\n shouldPrintDebug = 'verbose'\n }\n\n return {\n shouldPrintDebug,\n shouldDisable,\n }\n}\n"],
5
+ "mappings": "AAAO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,GAIG;AARH;AASE,MAAI,CAAC,uBAAuB,CAAC,OAAO,WAAW,IAAI,KAAK,CAAC,OAAO,WAAW,IAAI,GAAG;AAChF,WAAO;AAAA,MACL,kBAAkB;AAAA,MAClB,eAAe;AAAA,IACjB;AAAA,EACF;AAEA,MAAI,mBAAwC;AAC5C,MAAI,gBAAgB;AAGpB,QAAM,YAAY,OAAO,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,EAAE,CAAC;AAEpD,MAAI,UAAU,SAAS,gBAAgB,GAAG;AACxC,oBAAgB;AAAA,EAClB;AAEA,MAAI,UAAU,SAAS,OAAO,GAAG;AAC/B,uBAAmB;AAAA,EACrB;AAEA,MAAI,UAAU,SAAS,eAAe,GAAG;AACvC,uBAAmB;AAAA,EACrB;AAEA,MAAI,QAAQ,IAAI,oBAAoB;AAClC,QAAI,KAAK,SAAS,QAAQ,IAAI,kBAAkB,GAAG;AACjD,yBAAmB;AAAA,IACrB;AAAA,EACF;AAEA,OAAI,aAAQ,IAAI,UAAZ,mBAAmB,SAAS,YAAY;AAC1C,uBAAmB;AAAA,EACrB;AAEA,OAAI,aAAQ,IAAI,UAAZ,mBAAmB,SAAS,oBAAoB;AAClD,uBAAmB;AAAA,EACrB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,22 @@
1
+ function memoize(func, resolver) {
2
+ if (typeof func !== "function" || resolver != null && typeof resolver !== "function") {
3
+ throw new TypeError("Expected a function");
4
+ }
5
+ const memoized = function(...args) {
6
+ const key = resolver ? resolver.apply(this, args) : args[0];
7
+ const cache = memoized.cache;
8
+ if (cache.has(key)) {
9
+ return cache.get(key);
10
+ }
11
+ const result = func.apply(this, args);
12
+ memoized.cache = cache.set(key, result) || cache;
13
+ return result;
14
+ };
15
+ memoized.cache = new (memoize.Cache || Map)();
16
+ return memoized;
17
+ }
18
+ memoize.Cache = Map;
19
+ export {
20
+ memoize
21
+ };
22
+ //# sourceMappingURL=memoize.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/memoize.ts"],
4
+ "sourcesContent": ["// @ts-nocheck\nexport function memoize(func?: Function, resolver?: any) {\n if (typeof func !== 'function' || (resolver != null && typeof resolver !== 'function')) {\n throw new TypeError('Expected a function')\n }\n const memoized = function (...args) {\n const key = resolver ? resolver.apply(this, args) : args[0]\n const cache = memoized.cache\n\n if (cache.has(key)) {\n return cache.get(key)\n }\n const result = func.apply(this, args)\n memoized.cache = cache.set(key, result) || cache\n return result\n }\n memoized.cache = new (memoize.Cache || Map)()\n return memoized\n}\n\nmemoize.Cache = Map\n"],
5
+ "mappings": "AACO,SAAS,QAAQ,MAAiB,UAAgB;AACvD,MAAI,OAAO,SAAS,cAAe,YAAY,QAAQ,OAAO,aAAa,YAAa;AACtF,UAAM,IAAI,UAAU,qBAAqB;AAAA,EAC3C;AACA,QAAM,WAAW,YAAa,MAAM;AAClC,UAAM,MAAM,WAAW,SAAS,MAAM,MAAM,IAAI,IAAI,KAAK,CAAC;AAC1D,UAAM,QAAQ,SAAS;AAEvB,QAAI,MAAM,IAAI,GAAG,GAAG;AAClB,aAAO,MAAM,IAAI,GAAG;AAAA,IACtB;AACA,UAAM,SAAS,KAAK,MAAM,MAAM,IAAI;AACpC,aAAS,QAAQ,MAAM,IAAI,KAAK,MAAM,KAAK;AAC3C,WAAO;AAAA,EACT;AACA,WAAS,QAAQ,KAAK,QAAQ,SAAS,KAAK;AAC5C,SAAO;AACT;AAEA,QAAQ,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ process.env.TAMAGUI_COMPILE_PROCESS = "1";
2
+ import { TamaguiOptions } from "./types.js";
3
+ import { createExtractor } from "./extractor/createExtractor.js";
4
+ import { literalToAst } from "./extractor/literalToAst.js";
5
+ export * from "./constants.js";
6
+ export * from "./extractor/extractToClassNames.js";
7
+ export * from "./extractor/extractHelpers.js";
8
+ export * from "./extractor/loadTamagui.js";
9
+ export * from "./require.js";
10
+ export * from "./getPragmaOptions.js";
11
+ export {
12
+ TamaguiOptions,
13
+ createExtractor,
14
+ literalToAst
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["process.env.TAMAGUI_COMPILE_PROCESS = '1'\n\nexport { TamaguiOptions } from './types.js'\nexport { createExtractor } from './extractor/createExtractor.js'\nexport { literalToAst } from './extractor/literalToAst.js'\nexport * from './constants.js'\nexport * from './extractor/extractToClassNames.js'\nexport * from './extractor/extractHelpers.js'\nexport * from './extractor/loadTamagui.js'\nexport * from './require.js'\nexport * from './getPragmaOptions.js'\n"],
5
+ "mappings": "AAAA,QAAQ,IAAI,0BAA0B;AAEtC,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,oBAAoB;AAC7B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,61 @@
1
+ import { relative, sep } from "path";
2
+ const nameToPaths = {};
3
+ const Module = require("module");
4
+ const og = Module.prototype.require;
5
+ globalThis["ogRequire"] = og;
6
+ const getNameToPaths = () => nameToPaths;
7
+ function registerRequire() {
8
+ if (Module.prototype.require !== globalThis["ogRequire"]) {
9
+ console.warn("didnt unregister before re-registering");
10
+ process.exit(1);
11
+ }
12
+ const proxyWorm = require("@tamagui/proxy-worm");
13
+ const rnw = require("react-native-web");
14
+ const core = require("@tamagui/core-node");
15
+ Module.prototype.require = function(path) {
16
+ var _a;
17
+ if (/\.(gif|jpe?g|png|svg|ttf|otf|woff2?|bmp|webp)$/.test(path)) {
18
+ return {};
19
+ }
20
+ if (path === "@gorhom/bottom-sheet" || path.startsWith("react-native-reanimated") || path === "expo-linear-gradient" || path === "@expo/vector-icons") {
21
+ return proxyWorm;
22
+ }
23
+ if (path.startsWith("react-native") && // allow our rnw.tsx imports through
24
+ !path.startsWith("react-native-web/dist/cjs/exports".replace(/\//g, sep))) {
25
+ return rnw;
26
+ }
27
+ if (path === "@tamagui/core") {
28
+ return core;
29
+ }
30
+ try {
31
+ const out = og.apply(this, arguments);
32
+ return out;
33
+ } catch (err) {
34
+ if ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui")) {
35
+ console.error(
36
+ `Tamagui failed loading the pre-built tamagui.config.ts
37
+
38
+ ${err.message}
39
+ ${err.stack}
40
+
41
+ You can see if it loads in the node repl:
42
+
43
+ require("./${relative(process.cwd(), path)}").default
44
+
45
+ `
46
+ );
47
+ }
48
+ return proxyWorm;
49
+ }
50
+ };
51
+ return Module.prototype.require;
52
+ }
53
+ function unregisterRequire() {
54
+ Module.prototype.require = og;
55
+ }
56
+ export {
57
+ getNameToPaths,
58
+ registerRequire,
59
+ unregisterRequire
60
+ };
61
+ //# sourceMappingURL=require.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/require.ts"],
4
+ "sourcesContent": ["import { relative, sep } from 'path'\n\nimport { SHOULD_DEBUG } from './constants.js'\n\nconst nameToPaths = {}\nconst Module = require('module')\nconst og = Module.prototype.require\nglobalThis['ogRequire'] = og\n\nexport const getNameToPaths = () => nameToPaths\n\nexport function registerRequire() {\n if (Module.prototype.require !== globalThis['ogRequire']) {\n // eslint-disable-next-line no-console\n console.warn('didnt unregister before re-registering')\n process.exit(1)\n }\n\n const proxyWorm = require('@tamagui/proxy-worm')\n // TODO can swap with react-native-web-lite\n const rnw = require('react-native-web')\n const core = require('@tamagui/core-node')\n\n Module.prototype.require = function (path: string) {\n if (/\\.(gif|jpe?g|png|svg|ttf|otf|woff2?|bmp|webp)$/.test(path)) {\n return {}\n }\n if (\n path === '@gorhom/bottom-sheet' ||\n path.startsWith('react-native-reanimated') ||\n path === 'expo-linear-gradient' ||\n path === '@expo/vector-icons'\n ) {\n return proxyWorm\n }\n if (\n path.startsWith('react-native') &&\n // allow our rnw.tsx imports through\n !path.startsWith('react-native-web/dist/cjs/exports'.replace(/\\//g, sep))\n ) {\n return rnw\n }\n if (path === '@tamagui/core') {\n return core\n }\n try {\n const out = og.apply(this, arguments)\n // only for studio disable for now\n // if (!nameToPaths[path]) {\n // if (out && typeof out === 'object') {\n // for (const key in out) {\n // try {\n // const conf = out[key]?.staticConfig as StaticConfig\n // if (conf) {\n // if (conf.componentName) {\n // nameToPaths[conf.componentName] ??= new Set()\n // const fullName = path.startsWith('.')\n // ? join(`${this.path.replace(/dist(\\/cjs)?/, 'src')}`, path)\n // : path\n // nameToPaths[conf.componentName].add(fullName)\n // } else {\n // // console.log('no name component', path)\n // }\n // }\n // } catch {\n // // ok\n // }\n // }\n // }\n // }\n return out\n } catch (err: any) {\n /**\n * Allow errors to happen, we're just reading config and components but sometimes external modules cause problems\n * We can't fix every problem, so just swap them out with proxyWorm which is a sort of generic object that can be read.\n */\n\n if (process.env.DEBUG?.startsWith('tamagui')) {\n // eslint-disable-next-line no-console\n console.error(\n `Tamagui failed loading the pre-built tamagui.config.ts\n \n ${err.message}\n ${err.stack}\n \n You can see if it loads in the node repl:\n \n require(\"./${relative(process.cwd(), path)}\").default\n \n `\n )\n }\n\n return proxyWorm\n }\n }\n\n return Module.prototype.require\n}\n\nexport function unregisterRequire() {\n Module.prototype.require = og\n}\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,WAAW;AAI9B,MAAM,cAAc,CAAC;AACrB,MAAM,SAAS,QAAQ,QAAQ;AAC/B,MAAM,KAAK,OAAO,UAAU;AAC5B,WAAW,WAAW,IAAI;AAEnB,MAAM,iBAAiB,MAAM;AAE7B,SAAS,kBAAkB;AAChC,MAAI,OAAO,UAAU,YAAY,WAAW,WAAW,GAAG;AAExD,YAAQ,KAAK,wCAAwC;AACrD,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,YAAY,QAAQ,qBAAqB;AAE/C,QAAM,MAAM,QAAQ,kBAAkB;AACtC,QAAM,OAAO,QAAQ,oBAAoB;AAEzC,SAAO,UAAU,UAAU,SAAU,MAAc;AAvBrD;AAwBI,QAAI,iDAAiD,KAAK,IAAI,GAAG;AAC/D,aAAO,CAAC;AAAA,IACV;AACA,QACE,SAAS,0BACT,KAAK,WAAW,yBAAyB,KACzC,SAAS,0BACT,SAAS,sBACT;AACA,aAAO;AAAA,IACT;AACA,QACE,KAAK,WAAW,cAAc;AAAA,IAE9B,CAAC,KAAK,WAAW,oCAAoC,QAAQ,OAAO,GAAG,CAAC,GACxE;AACA,aAAO;AAAA,IACT;AACA,QAAI,SAAS,iBAAiB;AAC5B,aAAO;AAAA,IACT;AACA,QAAI;AACF,YAAM,MAAM,GAAG,MAAM,MAAM,SAAS;AAwBpC,aAAO;AAAA,IACT,SAAS,KAAP;AAMA,WAAI,aAAQ,IAAI,UAAZ,mBAAmB,WAAW,YAAY;AAE5C,gBAAQ;AAAA,UACN;AAAA;AAAA,IAEN,IAAI;AAAA,IACJ,IAAI;AAAA;AAAA;AAAA;AAAA,iBAIS,SAAS,QAAQ,IAAI,GAAG,IAAI;AAAA;AAAA;AAAA,QAGrC;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO,OAAO,UAAU;AAC1B;AAEO,SAAS,oBAAoB;AAClC,SAAO,UAAU,UAAU;AAC7B;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ const pluginName = "TamaguiWebpackPlugin";
2
+ class TamaguiWebpackPlugin {
3
+ apply(compiler) {
4
+ compiler.hooks.run.tap(pluginName, (compilation) => {
5
+ });
6
+ }
7
+ }
8
+ export {
9
+ TamaguiWebpackPlugin
10
+ };
11
+ //# sourceMappingURL=webpackPlugin.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/webpackPlugin.ts"],
4
+ "sourcesContent": ["const pluginName = 'TamaguiWebpackPlugin'\n\nexport class TamaguiWebpackPlugin {\n apply(compiler) {\n compiler.hooks.run.tap(pluginName, (compilation) => {\n // console.log('The webpack build process is starting!');\n })\n }\n}\n"],
5
+ "mappings": "AAAA,MAAM,aAAa;AAEZ,MAAM,qBAAqB;AAAA,EAChC,MAAM,UAAU;AACd,aAAS,MAAM,IAAI,IAAI,YAAY,CAAC,gBAAgB;AAAA,IAEpD,CAAC;AAAA,EACH;AACF;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@tamagui/static",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
- "main": "dist",
6
+ "main": "dist/cjs/index.js",
7
+ "module": "dist/esm/index.js",
7
8
  "files": [
8
9
  "tamagui.tsconfig.json",
9
10
  "src",
@@ -16,9 +17,7 @@
16
17
  "clean": "tamagui-build clean",
17
18
  "clean:build": "tamagui-build clean:build",
18
19
  "lint": "../../node_modules/.bin/rome check src",
19
- "lint:fix": "../../node_modules/.bin/rome check --apply-suggested src",
20
- "pretest": "node -r esbuild-register ./tests/lib/preTest.js",
21
- "test": "INCLUDE_CSS_COLOR_NAMES=1 vitest --config ../vite-plugin-internal/src/vite.config.ts --run --dom"
20
+ "lint:fix": "../../node_modules/.bin/rome check --apply-suggested src"
22
21
  },
23
22
  "tests": {
24
23
  "parallel": true
@@ -36,31 +35,32 @@
36
35
  "@babel/runtime": "^7.19.4",
37
36
  "@babel/traverse": "^7.19.6",
38
37
  "@expo/match-media": "^0.3.0",
39
- "@tamagui/build": "^1.1.7",
40
- "@tamagui/cli-color": "^1.1.7",
41
- "@tamagui/config-default-node": "^1.1.7",
42
- "@tamagui/core-node": "^1.1.7",
43
- "@tamagui/fake-react-native": "^1.1.7",
44
- "@tamagui/helpers": "^1.1.7",
45
- "@tamagui/helpers-node": "^1.1.7",
46
- "@tamagui/proxy-worm": "^1.1.7",
47
- "@tamagui/shorthands": "^1.1.7",
38
+ "@tamagui/build": "^1.1.9",
39
+ "@tamagui/cli-color": "^1.1.9",
40
+ "@tamagui/config-default-node": "^1.1.9",
41
+ "@tamagui/core-node": "^1.1.9",
42
+ "@tamagui/fake-react-native": "^1.1.9",
43
+ "@tamagui/helpers": "^1.1.9",
44
+ "@tamagui/helpers-node": "^1.1.9",
45
+ "@tamagui/proxy-worm": "^1.1.9",
46
+ "@tamagui/shorthands": "^1.1.9",
47
+ "@tamagui/types": "^1.1.9",
48
48
  "babel-literal-to-ast": "^2.1.0",
49
- "esbuild": "^0.16.15",
49
+ "esbuild": "^0.17.5",
50
50
  "esbuild-register": "^3.4.2",
51
51
  "find-cache-dir": "^3.3.2",
52
52
  "find-root": "^1.1.0",
53
53
  "fs-extra": "^10.1.0",
54
54
  "invariant": "^2.2.4",
55
55
  "lodash": "^4.17.21",
56
- "react-native-web-internals": "^1.1.7",
57
- "react-native-web-lite": "^1.1.7"
56
+ "react-native-web-internals": "^1.1.9",
57
+ "react-native-web-lite": "^1.1.9"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@babel/plugin-syntax-typescript": "^7.18.6",
61
61
  "@babel/types": "^7.19.4",
62
62
  "@dish/babel-preset": "^0.0.6",
63
- "@tamagui/test-design-system": "^1.1.7",
63
+ "@tamagui/test-design-system": "^1.1.9",
64
64
  "@testing-library/react": "^13.4.0",
65
65
  "@types/babel__generator": "^7.6.4",
66
66
  "@types/babel__traverse": "^7.18.2",
@@ -3,7 +3,7 @@ import { basename, dirname, join } from 'path'
3
3
  import esbuild from 'esbuild'
4
4
  import { pathExists, stat, writeFile } from 'fs-extra'
5
5
 
6
- import { resolveWebOrNativeSpecificEntry } from './loadTamagui'
6
+ import { resolveWebOrNativeSpecificEntry } from './loadTamagui.js'
7
7
 
8
8
  /**
9
9
  * For internal loading of new files
@@ -24,7 +24,7 @@ function getESBuildConfig(
24
24
  // eslint-disable-next-line no-console
25
25
  console.log(`Building`, entryPoints)
26
26
  }
27
- const tsconfig = join(__dirname, '..', '..', 'tamagui.tsconfig.json')
27
+ const tsconfig = join(__dirname, '..', '..', '..', 'tamagui.tsconfig.json')
28
28
 
29
29
  const resolvedEntryPoints = !resolvePlatformSpecificEntries
30
30
  ? entryPoints
@@ -45,6 +45,7 @@ export function createEvaluator({
45
45
  return staticNamespace[n.name]
46
46
  }
47
47
  const evalContext = vm.createContext(staticNamespace)
48
+ // @ts-ignore
48
49
  const codeWithTypescriptAnnotations = `(${generate(n as any).code})`
49
50
  const code = esbuild
50
51
  .transformSync(codeWithTypescriptAnnotations, { loader: 'tsx' })
@@ -365,6 +365,7 @@ export function createExtractor(
365
365
  const bindingCache: Record<string, string | null> = {}
366
366
 
367
367
  const callTraverse = (a: TraverseOptions<any>) => {
368
+ // @ts-ignore
368
369
  return fileOrPath.type === 'File' ? traverse(fileOrPath, a) : fileOrPath.traverse(a)
369
370
  }
370
371
 
@@ -1,4 +1,4 @@
1
- import { basename, relative } from 'path'
1
+ import { basename } from 'path'
2
2
 
3
3
  import generate from '@babel/generator'
4
4
  import type { NodePath } from '@babel/traverse'
@@ -10,7 +10,9 @@ import type { ExtractedAttr, TamaguiOptionsWithFileInfo, Ternary } from '../type
10
10
 
11
11
  // import { astToLiteral } from './literalToAst'
12
12
 
13
- export function isPresent<T extends Object>(input: null | void | undefined | T): input is T {
13
+ export function isPresent<T extends Object>(
14
+ input: null | void | undefined | T
15
+ ): input is T {
14
16
  return input != null
15
17
  }
16
18
 
@@ -58,7 +60,8 @@ export const ternaryStr = (x: Ternary) => {
58
60
  ? x.test.name
59
61
  : t.isMemberExpression(x.test)
60
62
  ? [x.test.object['name'], x.test.property['name']]
61
- : generate(x.test as any).code
63
+ : // @ts-ignore
64
+ generate(x.test as any).code
62
65
  return [
63
66
  'ternary(',
64
67
  conditional,
@@ -118,13 +121,19 @@ export function isValidThemeHook(
118
121
  return true
119
122
  }
120
123
 
121
- export const isInsideComponentPackage = (props: TamaguiOptionsWithFileInfo, moduleName: string) => {
124
+ export const isInsideComponentPackage = (
125
+ props: TamaguiOptionsWithFileInfo,
126
+ moduleName: string
127
+ ) => {
122
128
  return getValidComponentsPaths(props).some((path) => {
123
129
  return moduleName.startsWith(path)
124
130
  })
125
131
  }
126
132
 
127
- export const isComponentPackage = (props: TamaguiOptionsWithFileInfo, srcName: string) => {
133
+ export const isComponentPackage = (
134
+ props: TamaguiOptionsWithFileInfo,
135
+ srcName: string
136
+ ) => {
128
137
  return getValidComponentsPaths(props).some((path) => {
129
138
  return srcName.startsWith(path)
130
139
  })