@tamagui/static 1.0.1-rc.8 → 1.0.1

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 (219) 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/babelParse.js +5 -1
  138. package/dist/extractor/babelParse.js.map +2 -2
  139. package/dist/extractor/createExtractor.js.map +2 -2
  140. package/dist/extractor/extractToClassNames.js +27 -4
  141. package/dist/extractor/extractToClassNames.js.map +2 -2
  142. package/dist/extractor/getStaticBindingsForScope.js +1 -1
  143. package/dist/extractor/getStaticBindingsForScope.js.map +1 -1
  144. package/dist/extractor/loadTamagui.js +25 -13
  145. package/dist/extractor/loadTamagui.js.map +2 -2
  146. package/dist/jsx/constants.js +17 -0
  147. package/dist/jsx/constants.js.map +7 -0
  148. package/dist/jsx/extractor/accessSafe.js +8 -0
  149. package/dist/jsx/extractor/accessSafe.js.map +7 -0
  150. package/dist/jsx/extractor/babelParse.js +28 -0
  151. package/dist/jsx/extractor/babelParse.js.map +7 -0
  152. package/dist/jsx/extractor/buildClassName.js +37 -0
  153. package/dist/jsx/extractor/buildClassName.js.map +7 -0
  154. package/dist/jsx/extractor/bundle.js +86 -0
  155. package/dist/jsx/extractor/bundle.js.map +7 -0
  156. package/dist/jsx/extractor/createEvaluator.js +53 -0
  157. package/dist/jsx/extractor/createEvaluator.js.map +7 -0
  158. package/dist/jsx/extractor/createExtractor.js +1311 -0
  159. package/dist/jsx/extractor/createExtractor.js.map +7 -0
  160. package/dist/jsx/extractor/defaultTamaguiConfig.js +143 -0
  161. package/dist/jsx/extractor/defaultTamaguiConfig.js.map +7 -0
  162. package/dist/jsx/extractor/ensureImportingConcat.js +21 -0
  163. package/dist/jsx/extractor/ensureImportingConcat.js.map +7 -0
  164. package/dist/jsx/extractor/evaluateAstNode.js +91 -0
  165. package/dist/jsx/extractor/evaluateAstNode.js.map +7 -0
  166. package/dist/jsx/extractor/extractHelpers.js +97 -0
  167. package/dist/jsx/extractor/extractHelpers.js.map +7 -0
  168. package/dist/jsx/extractor/extractMediaStyle.js +146 -0
  169. package/dist/jsx/extractor/extractMediaStyle.js.map +7 -0
  170. package/dist/jsx/extractor/extractToClassNames.js +280 -0
  171. package/dist/jsx/extractor/extractToClassNames.js.map +7 -0
  172. package/dist/jsx/extractor/findTopmostFunction.js +20 -0
  173. package/dist/jsx/extractor/findTopmostFunction.js.map +7 -0
  174. package/dist/jsx/extractor/generatedUid.js +25 -0
  175. package/dist/jsx/extractor/generatedUid.js.map +7 -0
  176. package/dist/jsx/extractor/getPrefixLogs.js +9 -0
  177. package/dist/jsx/extractor/getPrefixLogs.js.map +7 -0
  178. package/dist/jsx/extractor/getPropValueFromAttributes.js +46 -0
  179. package/dist/jsx/extractor/getPropValueFromAttributes.js.map +7 -0
  180. package/dist/jsx/extractor/getSourceModule.js +66 -0
  181. package/dist/jsx/extractor/getSourceModule.js.map +7 -0
  182. package/dist/jsx/extractor/getStaticBindingsForScope.js +157 -0
  183. package/dist/jsx/extractor/getStaticBindingsForScope.js.map +7 -0
  184. package/dist/jsx/extractor/hoistClassNames.js +40 -0
  185. package/dist/jsx/extractor/hoistClassNames.js.map +7 -0
  186. package/dist/jsx/extractor/literalToAst.js +75 -0
  187. package/dist/jsx/extractor/literalToAst.js.map +7 -0
  188. package/dist/jsx/extractor/loadFile.js +20 -0
  189. package/dist/jsx/extractor/loadFile.js.map +7 -0
  190. package/dist/jsx/extractor/loadTamagui.js +81 -0
  191. package/dist/jsx/extractor/loadTamagui.js.map +7 -0
  192. package/dist/jsx/extractor/logLines.js +20 -0
  193. package/dist/jsx/extractor/logLines.js.map +7 -0
  194. package/dist/jsx/extractor/normalizeTernaries.js +50 -0
  195. package/dist/jsx/extractor/normalizeTernaries.js.map +7 -0
  196. package/dist/jsx/extractor/removeUnusedHooks.js +77 -0
  197. package/dist/jsx/extractor/removeUnusedHooks.js.map +7 -0
  198. package/dist/jsx/extractor/timer.js +22 -0
  199. package/dist/jsx/extractor/timer.js.map +7 -0
  200. package/dist/jsx/extractor/validHTMLAttributes.js +102 -0
  201. package/dist/jsx/extractor/validHTMLAttributes.js.map +7 -0
  202. package/dist/jsx/getPragmaOptions.js +44 -0
  203. package/dist/jsx/getPragmaOptions.js.map +7 -0
  204. package/dist/jsx/helpers/memoize.js +22 -0
  205. package/dist/jsx/helpers/memoize.js.map +7 -0
  206. package/dist/jsx/index.js +16 -0
  207. package/dist/jsx/index.js.map +7 -0
  208. package/dist/jsx/require.js +78 -0
  209. package/dist/jsx/require.js.map +7 -0
  210. package/dist/jsx/types.js +1 -0
  211. package/dist/jsx/types.js.map +7 -0
  212. package/dist/jsx/webpackPlugin.js +11 -0
  213. package/dist/jsx/webpackPlugin.js.map +7 -0
  214. package/package.json +15 -15
  215. package/src/extractor/babelParse.ts +5 -1
  216. package/src/extractor/createExtractor.ts +3 -0
  217. package/src/extractor/extractToClassNames.ts +29 -6
  218. package/src/extractor/getStaticBindingsForScope.ts +1 -1
  219. package/src/extractor/loadTamagui.ts +28 -10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/static",
3
- "version": "1.0.1-rc.8",
3
+ "version": "1.0.1",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist",
@@ -36,31 +36,31 @@
36
36
  "@babel/runtime": "^7.19.4",
37
37
  "@babel/traverse": "^7.19.6",
38
38
  "@expo/match-media": "^0.3.0",
39
- "@tamagui/build": "^1.0.1-rc.8",
40
- "@tamagui/cli-color": "^1.0.1-rc.8",
41
- "@tamagui/config-default-node": "^1.0.1-rc.8",
42
- "@tamagui/core-node": "^1.0.1-rc.8",
43
- "@tamagui/fake-react-native": "^1.0.1-rc.8",
44
- "@tamagui/helpers": "^1.0.1-rc.8",
45
- "@tamagui/helpers-node": "^1.0.1-rc.8",
46
- "@tamagui/proxy-worm": "^1.0.1-rc.8",
47
- "@tamagui/shorthands": "^1.0.1-rc.8",
39
+ "@tamagui/build": "^1.0.1",
40
+ "@tamagui/cli-color": "^1.0.1",
41
+ "@tamagui/config-default-node": "^1.0.1",
42
+ "@tamagui/core-node": "^1.0.1",
43
+ "@tamagui/fake-react-native": "^1.0.1",
44
+ "@tamagui/helpers": "^1.0.1",
45
+ "@tamagui/helpers-node": "^1.0.1",
46
+ "@tamagui/proxy-worm": "^1.0.1",
47
+ "@tamagui/shorthands": "^1.0.1",
48
48
  "babel-literal-to-ast": "^2.1.0",
49
49
  "esbuild": "^0.15.11",
50
- "esbuild-register": "^3.3.3",
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.0.1-rc.8",
57
- "react-native-web-lite": "^1.0.1-rc.8"
56
+ "react-native-web-internals": "^1.0.1",
57
+ "react-native-web-lite": "^1.0.1"
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.0.1-rc.8",
63
+ "@tamagui/test-design-system": "^1.0.1",
64
64
  "@testing-library/react": "^13.4.0",
65
65
  "@types/babel__generator": "^7.6.4",
66
66
  "@types/babel__traverse": "^7.18.2",
@@ -78,7 +78,7 @@
78
78
  "react-test-renderer": "^18.2.0",
79
79
  "style-loader": "^3.3.1",
80
80
  "typescript": "^4.7.4",
81
- "vitest": "^0.25.7",
81
+ "vitest": "^0.26.2",
82
82
  "webpack": "^5.74.0"
83
83
  },
84
84
  "peerDependencies": {
@@ -24,5 +24,9 @@ export const parserOptions: babelParser.ParserOptions = Object.freeze({
24
24
  const parser = babelParser.parse.bind(babelParser)
25
25
 
26
26
  export function babelParse(code: string | Buffer): t.File {
27
- return parser(code.toString(), parserOptions) as any
27
+ try {
28
+ return parser(code.toString(), parserOptions) as any
29
+ } catch (err) {
30
+ throw new Error(`Error parsing babel: ${err} in code`)
31
+ }
28
32
  }
@@ -478,6 +478,9 @@ export function createExtractor(
478
478
  // }
479
479
 
480
480
  if (!Component) {
481
+ /**
482
+ * We could/should still extract CSS just limited to validStyleProps
483
+ */
481
484
  return
482
485
  }
483
486
 
@@ -51,12 +51,19 @@ export async function extractToClassNames({
51
51
  }: ExtractToClassNamesProps): Promise<ExtractedResponse | null> {
52
52
  const tm = timer()
53
53
 
54
+ if (shouldPrintDebug) {
55
+ console.log(`Parsing \n\n --- ${sourcePath} --- \n\n`)
56
+ }
57
+
54
58
  if (typeof source !== 'string') {
55
59
  throw new Error('`source` must be a string of javascript')
56
60
  }
57
61
  if (sourcePath && !path.isAbsolute(sourcePath)) {
58
62
  throw new Error('`sourcePath` must be an absolute path to a .js file')
59
63
  }
64
+ if (!/.[tj]sx?$/i.test(sourcePath || '')) {
65
+ console.log(`${sourcePath?.slice(0, 100)} - bad filename.`)
66
+ }
60
67
 
61
68
  // dont include loading in timing of parsing (one time cost)
62
69
  await extractor.loadTamagui(options)
@@ -72,7 +79,7 @@ export async function extractToClassNames({
72
79
  ast = babelParse(source)
73
80
  } catch (err) {
74
81
  // eslint-disable-next-line no-console
75
- console.error('babel parse error:', sourcePath)
82
+ console.error('babel parse error:', sourcePath?.slice(0, 100))
76
83
  throw err
77
84
  }
78
85
 
@@ -178,7 +185,9 @@ export async function extractToClassNames({
178
185
 
179
186
  for (const style of styles) {
180
187
  // leave them as attributes
181
- const prop = style.pseudo ? `${style.property}-${style.pseudo}` : style.property
188
+ const prop = style.pseudo
189
+ ? `${style.property}-${style.pseudo}`
190
+ : style.property
182
191
  finalAttrs.push(
183
192
  t.jsxAttribute(t.jsxIdentifier(prop), t.stringLiteral(style.identifier))
184
193
  )
@@ -259,7 +268,11 @@ export async function extractToClassNames({
259
268
  finalStyles = [...finalStyles, ...mediaExtraction.mediaStyles]
260
269
  }
261
270
  if (mediaExtraction.ternaryWithoutMedia) {
262
- addTernaryStyle(mediaExtraction.ternaryWithoutMedia, mediaExtraction.mediaStyles, [])
271
+ addTernaryStyle(
272
+ mediaExtraction.ternaryWithoutMedia,
273
+ mediaExtraction.mediaStyles,
274
+ []
275
+ )
263
276
  } else {
264
277
  finalClassNames = [
265
278
  ...finalClassNames,
@@ -276,7 +289,11 @@ export async function extractToClassNames({
276
289
  const aCN = b.map((x) => x.identifier).join(' ')
277
290
  if (a.length && b.length) {
278
291
  finalClassNames.push(
279
- t.conditionalExpression(ternary.test, t.stringLiteral(cCN), t.stringLiteral(aCN))
292
+ t.conditionalExpression(
293
+ ternary.test,
294
+ t.stringLiteral(cCN),
295
+ t.stringLiteral(aCN)
296
+ )
280
297
  )
281
298
  } else {
282
299
  finalClassNames.push(
@@ -338,7 +355,12 @@ export async function extractToClassNames({
338
355
  )
339
356
  }
340
357
 
341
- const comment = util.format('/* %s:%s (%s) */', filePath, lineNumbers, originalNodeName)
358
+ const comment = util.format(
359
+ '/* %s:%s (%s) */',
360
+ filePath,
361
+ lineNumbers,
362
+ originalNodeName
363
+ )
342
364
 
343
365
  for (const { identifier, rules } of finalStyles) {
344
366
  const className = `.${identifier}`
@@ -399,7 +421,8 @@ export async function extractToClassNames({
399
421
 
400
422
  if (shouldLogTiming) {
401
423
  const memUsed = mem
402
- ? Math.round(((process.memoryUsage().heapUsed - mem.heapUsed) / 1024 / 1204) * 10) / 10
424
+ ? Math.round(((process.memoryUsage().heapUsed - mem.heapUsed) / 1024 / 1204) * 10) /
425
+ 10
403
426
  : 0
404
427
  const path = basename(sourcePath || '')
405
428
  .replace(/\.[jt]sx?$/, '')
@@ -33,7 +33,7 @@ const loadCmd = `${join(__dirname, 'loadFile.js')}`
33
33
  let exited = false
34
34
  const child = fork(loadCmd, [], {
35
35
  execArgv: ['-r', 'esbuild-register'],
36
- detached: true,
36
+ detached: false,
37
37
  stdio: 'ignore',
38
38
  })
39
39
 
@@ -1,6 +1,6 @@
1
1
  import { readFileSync } from 'fs'
2
2
  /* eslint-disable no-console */
3
- import { basename, dirname, extname, join, relative, sep, resolve } from 'path'
3
+ import { basename, dirname, extname, join, relative, resolve, sep } from 'path'
4
4
 
5
5
  import generate from '@babel/generator'
6
6
  import traverse from '@babel/traverse'
@@ -74,10 +74,19 @@ export async function loadTamagui(props: Props): Promise<TamaguiProjectInfo> {
74
74
  )
75
75
  )
76
76
 
77
- const external = ['@tamagui/core', '@tamagui/core-node', 'react', 'react-dom', 'react-native-svg']
77
+ const external = [
78
+ '@tamagui/core',
79
+ '@tamagui/core-node',
80
+ 'react',
81
+ 'react-dom',
82
+ 'react-native-svg',
83
+ ]
78
84
  const configEntry = props.config ? join(process.cwd(), props.config) : ''
79
85
 
80
- if (process.env.NODE_ENV === 'development' && process.env.DEBUG?.startsWith('tamagui')) {
86
+ if (
87
+ process.env.NODE_ENV === 'development' &&
88
+ process.env.DEBUG?.startsWith('tamagui')
89
+ ) {
81
90
  console.log(`Building config entry`, configEntry)
82
91
  }
83
92
 
@@ -141,7 +150,8 @@ Tamagui built config and components:`
141
150
 
142
151
  // map from built back to original module names
143
152
  for (const component of components) {
144
- component.moduleName = baseComponents[componentOutPaths.indexOf(component.moduleName)]
153
+ component.moduleName =
154
+ baseComponents[componentOutPaths.indexOf(component.moduleName)]
145
155
  if (!component.moduleName) {
146
156
  throw new Error(`Tamagui internal err`)
147
157
  }
@@ -157,7 +167,10 @@ Tamagui built config and components:`
157
167
  components = [...components, ...coreComponents]
158
168
  }
159
169
 
160
- if (process.env.NODE_ENV === 'development' && process.env.DEBUG?.startsWith('tamagui')) {
170
+ if (
171
+ process.env.NODE_ENV === 'development' &&
172
+ process.env.DEBUG?.startsWith('tamagui')
173
+ ) {
161
174
  console.log('Loaded components', components)
162
175
  }
163
176
 
@@ -180,7 +193,7 @@ Tamagui built config and components:`
180
193
 
181
194
  export function resolveWebOrNativeSpecificEntry(entry: string) {
182
195
  const workspaceRoot = resolve()
183
- const resolved = require.resolve(entry, {paths: [workspaceRoot]})
196
+ const resolved = require.resolve(entry, { paths: [workspaceRoot] })
184
197
  const ext = extname(resolved)
185
198
  const fileName = basename(resolved).replace(ext, '')
186
199
  const specificExt = process.env.TAMAGUI_TARGET === 'web' ? 'web' : 'native'
@@ -295,7 +308,9 @@ function transformAddExports(ast: t.File) {
295
308
  ExportNamedDeclaration(nodePath) {
296
309
  if (nodePath.node.specifiers) {
297
310
  for (const spec of nodePath.node.specifiers) {
298
- usedNames.add(t.isIdentifier(spec.exported) ? spec.exported.name : spec.exported.value)
311
+ usedNames.add(
312
+ t.isIdentifier(spec.exported) ? spec.exported.name : spec.exported.value
313
+ )
299
314
  }
300
315
  }
301
316
  },
@@ -328,8 +343,8 @@ function transformAddExports(ast: t.File) {
328
343
  }).code
329
344
  }
330
345
 
331
- const esbuildit = (src: string, target?: 'modern') =>
332
- esbuild.transformSync(src, {
346
+ const esbuildit = (src: string, target?: 'modern') => {
347
+ return esbuild.transformSync(src, {
333
348
  ...esbuildOptions,
334
349
  ...(target === 'modern' && {
335
350
  target: 'es2022',
@@ -339,6 +354,7 @@ const esbuildit = (src: string, target?: 'modern') =>
339
354
  format: 'esm',
340
355
  }),
341
356
  }).code
357
+ }
342
358
 
343
359
  function loadComponents(props: Props): null | LoadedComponents[] {
344
360
  const componentsModules = props.components
@@ -368,7 +384,9 @@ function loadComponents(props: Props): null | LoadedComponents[] {
368
384
  // need to write to tsx to enable reading it properly (:/ esbuild-register)
369
385
  if (isDynamic) {
370
386
  writtenContents = forceExports
371
- ? esbuildit(transformAddExports(babelParse(esbuildit(fileContents, 'modern'))))
387
+ ? esbuildit(
388
+ transformAddExports(babelParse(esbuildit(fileContents, 'modern')))
389
+ )
372
390
  : esbuildit(fileContents)
373
391
 
374
392
  writeFileSync(loadModule, writtenContents)