@tamagui/static 2.7.7 → 3.0.0-beta.1093.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 (335) hide show
  1. package/dist/cjs/check-dep-versions.cjs +354 -0
  2. package/dist/cjs/checkDeps.cjs +301 -0
  3. package/dist/cjs/compiler.cjs +349 -0
  4. package/dist/cjs/compilerHost.cjs +2285 -0
  5. package/dist/cjs/componentDiscovery.cjs +94 -0
  6. package/dist/cjs/constants.cjs +32 -0
  7. package/dist/cjs/domStructuralPass.cjs +121 -0
  8. package/dist/cjs/exports.cjs +44 -0
  9. package/dist/cjs/extractor/addLocalExports.cjs +63 -0
  10. package/dist/cjs/extractor/bundle.cjs +229 -0
  11. package/dist/cjs/extractor/bundleConfig.cjs +769 -0
  12. package/dist/cjs/extractor/concatClassName.cjs +120 -0
  13. package/dist/cjs/extractor/detectModuleFormat.cjs +53 -0
  14. package/dist/cjs/extractor/esbuildAliasPlugin.cjs +46 -0
  15. package/dist/cjs/extractor/esbuildTsconfigPaths.cjs +91 -0
  16. package/dist/cjs/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +42 -0
  17. package/dist/cjs/extractor/loadTamagui.cjs +394 -0
  18. package/dist/cjs/extractor/regenerateConfig.cjs +160 -0
  19. package/dist/cjs/extractor/watchTamaguiConfig.cjs +63 -0
  20. package/dist/cjs/getPragmaOptions.cjs +66 -0
  21. package/dist/cjs/helpers/memoize.cjs +41 -0
  22. package/dist/cjs/helpers/requireTamaguiCore.cjs +39 -0
  23. package/dist/cjs/index.cjs +33 -0
  24. package/dist/cjs/registerRequire.cjs +219 -0
  25. package/dist/cjs/server.cjs +65 -0
  26. package/dist/cjs/staticEvaluationIgnoredModules.cjs +85 -0
  27. package/dist/cjs/types.cjs +16 -0
  28. package/dist/cjs/zero/artifact.cjs +144 -0
  29. package/dist/cjs/zero/graph.cjs +208 -0
  30. package/dist/cjs/zero/identity.cjs +60 -0
  31. package/dist/cjs/zero/index.cjs +33 -0
  32. package/dist/cjs/zero/islands.cjs +234 -0
  33. package/dist/cjs/zero/options.cjs +162 -0
  34. package/dist/cjs/zero/ownership.cjs +78 -0
  35. package/dist/cjs/zero/theme.cjs +337 -0
  36. package/dist/cjs/zero/transform.cjs +207 -0
  37. package/dist/esm/check-dep-versions.mjs +329 -0
  38. package/dist/esm/check-dep-versions.mjs.map +1 -0
  39. package/dist/esm/checkDeps.mjs +279 -0
  40. package/dist/esm/checkDeps.mjs.map +1 -0
  41. package/dist/esm/compiler.mjs +319 -0
  42. package/dist/esm/compiler.mjs.map +1 -0
  43. package/dist/esm/compilerHost.mjs +2263 -0
  44. package/dist/esm/compilerHost.mjs.map +1 -0
  45. package/dist/esm/componentDiscovery.mjs +69 -0
  46. package/dist/esm/componentDiscovery.mjs.map +1 -0
  47. package/dist/esm/constants.mjs +7 -0
  48. package/dist/esm/constants.mjs.map +1 -0
  49. package/dist/esm/domStructuralPass.mjs +102 -0
  50. package/dist/esm/domStructuralPass.mjs.map +1 -0
  51. package/dist/esm/exports.mjs +29 -0
  52. package/dist/esm/extractor/addLocalExports.mjs +44 -0
  53. package/dist/esm/extractor/addLocalExports.mjs.map +1 -0
  54. package/dist/esm/extractor/bundle.mjs +199 -0
  55. package/dist/esm/extractor/bundle.mjs.map +1 -0
  56. package/dist/esm/extractor/bundleConfig.mjs +728 -0
  57. package/dist/esm/extractor/bundleConfig.mjs.map +1 -0
  58. package/dist/esm/extractor/concatClassName.mjs +100 -0
  59. package/dist/esm/extractor/concatClassName.mjs.map +1 -0
  60. package/dist/esm/extractor/detectModuleFormat.mjs +31 -0
  61. package/dist/esm/extractor/detectModuleFormat.mjs.map +1 -0
  62. package/dist/esm/extractor/esbuildAliasPlugin.mjs +26 -0
  63. package/dist/esm/extractor/esbuildAliasPlugin.mjs.map +1 -0
  64. package/dist/esm/extractor/esbuildTsconfigPaths.mjs +63 -0
  65. package/dist/esm/extractor/esbuildTsconfigPaths.mjs.map +1 -0
  66. package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.mjs +23 -0
  67. package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.mjs.map +1 -0
  68. package/dist/esm/extractor/loadTamagui.mjs +357 -0
  69. package/dist/esm/extractor/loadTamagui.mjs.map +1 -0
  70. package/dist/esm/extractor/regenerateConfig.mjs +131 -0
  71. package/dist/esm/extractor/regenerateConfig.mjs.map +1 -0
  72. package/dist/esm/extractor/watchTamaguiConfig.mjs +43 -0
  73. package/dist/esm/extractor/watchTamaguiConfig.mjs.map +1 -0
  74. package/dist/esm/getPragmaOptions.mjs +46 -0
  75. package/dist/esm/getPragmaOptions.mjs.map +1 -0
  76. package/dist/esm/helpers/memoize.mjs +21 -0
  77. package/dist/esm/helpers/memoize.mjs.map +1 -0
  78. package/dist/esm/helpers/requireTamaguiCore.mjs +19 -0
  79. package/dist/esm/helpers/requireTamaguiCore.mjs.map +1 -0
  80. package/dist/esm/index.mjs +8 -0
  81. package/dist/esm/index.mjs.map +1 -0
  82. package/dist/esm/registerRequire.mjs +195 -0
  83. package/dist/esm/registerRequire.mjs.map +1 -0
  84. package/dist/esm/server.mjs +40 -0
  85. package/dist/esm/server.mjs.map +1 -0
  86. package/dist/esm/setup.mjs +0 -0
  87. package/dist/esm/staticEvaluationIgnoredModules.mjs +61 -0
  88. package/dist/esm/staticEvaluationIgnoredModules.mjs.map +1 -0
  89. package/dist/esm/types.mjs +0 -0
  90. package/dist/esm/zero/artifact.mjs +119 -0
  91. package/dist/esm/zero/artifact.mjs.map +1 -0
  92. package/dist/esm/zero/graph.mjs +170 -0
  93. package/dist/esm/zero/graph.mjs.map +1 -0
  94. package/dist/esm/zero/identity.mjs +36 -0
  95. package/dist/esm/zero/identity.mjs.map +1 -0
  96. package/dist/esm/zero/index.mjs +19 -0
  97. package/dist/esm/zero/islands.mjs +200 -0
  98. package/dist/esm/zero/islands.mjs.map +1 -0
  99. package/dist/esm/zero/options.mjs +129 -0
  100. package/dist/esm/zero/options.mjs.map +1 -0
  101. package/dist/esm/zero/ownership.mjs +48 -0
  102. package/dist/esm/zero/ownership.mjs.map +1 -0
  103. package/dist/esm/zero/theme.mjs +313 -0
  104. package/dist/esm/zero/theme.mjs.map +1 -0
  105. package/dist/esm/zero/transform.mjs +182 -0
  106. package/dist/esm/zero/transform.mjs.map +1 -0
  107. package/package.json +38 -47
  108. package/src/check-dep-versions.ts +2 -2
  109. package/src/checkDeps.ts +3 -2
  110. package/src/compiler.ts +506 -0
  111. package/src/compilerHost.ts +3752 -0
  112. package/src/componentDiscovery.ts +105 -0
  113. package/src/constants.ts +0 -5
  114. package/src/domStructuralPass.ts +190 -0
  115. package/src/exports.ts +5 -6
  116. package/src/extractor/addLocalExports.ts +49 -0
  117. package/src/extractor/bundle.ts +38 -40
  118. package/src/extractor/bundleConfig.ts +368 -187
  119. package/src/extractor/concatClassName.ts +21 -24
  120. package/src/extractor/getTamaguiConfigPathFromOptionsConfig.ts +13 -5
  121. package/src/extractor/loadTamagui.ts +196 -143
  122. package/src/extractor/regenerateConfig.ts +65 -13
  123. package/src/extractor/watchTamaguiConfig.ts +6 -1
  124. package/src/helpers/requireTamaguiCore.ts +6 -1
  125. package/src/registerRequire.ts +94 -132
  126. package/src/staticEvaluationIgnoredModules.ts +74 -0
  127. package/src/types.ts +2 -107
  128. package/src/zero/artifact.ts +142 -0
  129. package/src/zero/graph.ts +359 -0
  130. package/src/zero/identity.ts +73 -0
  131. package/src/zero/index.ts +9 -0
  132. package/src/zero/islands.ts +265 -0
  133. package/src/zero/options.ts +239 -0
  134. package/src/zero/ownership.ts +113 -0
  135. package/src/zero/theme.ts +526 -0
  136. package/src/zero/transform.ts +329 -0
  137. package/types/check-dep-versions.d.ts.map +1 -1
  138. package/types/checkDeps.d.ts.map +1 -1
  139. package/types/compiler.d.ts +134 -0
  140. package/types/compiler.d.ts.map +1 -0
  141. package/types/compilerHost.d.ts +38 -0
  142. package/types/compilerHost.d.ts.map +1 -0
  143. package/types/componentDiscovery.d.ts +27 -0
  144. package/types/componentDiscovery.d.ts.map +1 -0
  145. package/types/constants.d.ts +0 -1
  146. package/types/constants.d.ts.map +1 -1
  147. package/types/domStructuralPass.d.ts +3 -0
  148. package/types/domStructuralPass.d.ts.map +1 -0
  149. package/types/exports.d.ts +5 -6
  150. package/types/exports.d.ts.map +1 -1
  151. package/types/extractor/addLocalExports.d.ts +3 -0
  152. package/types/extractor/addLocalExports.d.ts.map +1 -0
  153. package/types/extractor/bundle.d.ts +66 -65
  154. package/types/extractor/bundle.d.ts.map +1 -1
  155. package/types/extractor/bundleConfig.d.ts +26 -4
  156. package/types/extractor/bundleConfig.d.ts.map +1 -1
  157. package/types/extractor/esbuildAliasPlugin.d.ts.map +1 -1
  158. package/types/extractor/getTamaguiConfigPathFromOptionsConfig.d.ts +1 -1
  159. package/types/extractor/getTamaguiConfigPathFromOptionsConfig.d.ts.map +1 -1
  160. package/types/extractor/loadTamagui.d.ts +26 -3
  161. package/types/extractor/loadTamagui.d.ts.map +1 -1
  162. package/types/extractor/regenerateConfig.d.ts +1 -1
  163. package/types/extractor/regenerateConfig.d.ts.map +1 -1
  164. package/types/extractor/watchTamaguiConfig.d.ts.map +1 -1
  165. package/types/getPragmaOptions.d.ts +1 -1
  166. package/types/helpers/memoize.d.ts +1 -1
  167. package/types/helpers/memoize.d.ts.map +1 -1
  168. package/types/helpers/requireTamaguiCore.d.ts.map +1 -1
  169. package/types/index.d.ts.map +1 -1
  170. package/types/registerRequire.d.ts +2 -2
  171. package/types/registerRequire.d.ts.map +1 -1
  172. package/types/staticEvaluationIgnoredModules.d.ts +9 -0
  173. package/types/staticEvaluationIgnoredModules.d.ts.map +1 -0
  174. package/types/types.d.ts +2 -90
  175. package/types/types.d.ts.map +1 -1
  176. package/types/zero/artifact.d.ts +44 -0
  177. package/types/zero/artifact.d.ts.map +1 -0
  178. package/types/zero/graph.d.ts +139 -0
  179. package/types/zero/graph.d.ts.map +1 -0
  180. package/types/zero/identity.d.ts +33 -0
  181. package/types/zero/identity.d.ts.map +1 -0
  182. package/types/zero/index.d.ts +10 -0
  183. package/types/zero/index.d.ts.map +1 -0
  184. package/types/zero/islands.d.ts +56 -0
  185. package/types/zero/islands.d.ts.map +1 -0
  186. package/types/zero/options.d.ts +58 -0
  187. package/types/zero/options.d.ts.map +1 -0
  188. package/types/zero/ownership.d.ts +51 -0
  189. package/types/zero/ownership.d.ts.map +1 -0
  190. package/types/zero/theme.d.ts +85 -0
  191. package/types/zero/theme.d.ts.map +1 -0
  192. package/types/zero/transform.d.ts +53 -0
  193. package/types/zero/transform.d.ts.map +1 -0
  194. package/dist/check-dep-versions.cjs +0 -372
  195. package/dist/checkDeps.cjs +0 -271
  196. package/dist/constants.cjs +0 -51
  197. package/dist/exports.cjs +0 -48
  198. package/dist/extractor/accessSafe.cjs +0 -48
  199. package/dist/extractor/babelParse.cjs +0 -56
  200. package/dist/extractor/buildClassName.cjs +0 -86
  201. package/dist/extractor/bundle.cjs +0 -234
  202. package/dist/extractor/bundleConfig.cjs +0 -729
  203. package/dist/extractor/concatClassName.cjs +0 -129
  204. package/dist/extractor/createEvaluator.cjs +0 -88
  205. package/dist/extractor/createExtractor.cjs +0 -1968
  206. package/dist/extractor/createLogger.cjs +0 -50
  207. package/dist/extractor/detectModuleFormat.cjs +0 -55
  208. package/dist/extractor/ensureImportingConcat.cjs +0 -54
  209. package/dist/extractor/errors.cjs +0 -28
  210. package/dist/extractor/esbuildAliasPlugin.cjs +0 -56
  211. package/dist/extractor/esbuildTsconfigPaths.cjs +0 -108
  212. package/dist/extractor/evaluateAstNode.cjs +0 -128
  213. package/dist/extractor/extractHelpers.cjs +0 -182
  214. package/dist/extractor/extractMediaStyle.cjs +0 -169
  215. package/dist/extractor/extractToClassNames.cjs +0 -475
  216. package/dist/extractor/extractToNative.cjs +0 -369
  217. package/dist/extractor/findTopmostFunction.cjs +0 -43
  218. package/dist/extractor/generatedUid.cjs +0 -58
  219. package/dist/extractor/getPrefixLogs.cjs +0 -31
  220. package/dist/extractor/getPropValueFromAttributes.cjs +0 -85
  221. package/dist/extractor/getSourceModule.cjs +0 -100
  222. package/dist/extractor/getStaticBindingsForScope.cjs +0 -213
  223. package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +0 -41
  224. package/dist/extractor/hasTopLevelAwait.cjs +0 -62
  225. package/dist/extractor/hoistClassNames.cjs +0 -76
  226. package/dist/extractor/literalToAst.cjs +0 -109
  227. package/dist/extractor/loadFile.cjs +0 -17
  228. package/dist/extractor/loadTamagui.cjs +0 -373
  229. package/dist/extractor/logLines.cjs +0 -43
  230. package/dist/extractor/normalizeTernaries.cjs +0 -100
  231. package/dist/extractor/propsToFontFamilyCache.cjs +0 -42
  232. package/dist/extractor/regenerateConfig.cjs +0 -178
  233. package/dist/extractor/removeUnusedHooks.cjs +0 -108
  234. package/dist/extractor/timer.cjs +0 -52
  235. package/dist/extractor/validHTMLAttributes.cjs +0 -79
  236. package/dist/extractor/watchTamaguiConfig.cjs +0 -70
  237. package/dist/getPragmaOptions.cjs +0 -73
  238. package/dist/helpers/memoize.cjs +0 -45
  239. package/dist/helpers/requireTamaguiCore.cjs +0 -40
  240. package/dist/index.cjs +0 -42
  241. package/dist/registerRequire.cjs +0 -209
  242. package/dist/server.cjs +0 -82
  243. package/dist/types.cjs +0 -18
  244. package/dist/worker.cjs +0 -111
  245. package/src/extractor/accessSafe.ts +0 -22
  246. package/src/extractor/babelParse.ts +0 -38
  247. package/src/extractor/buildClassName.ts +0 -76
  248. package/src/extractor/createEvaluator.ts +0 -82
  249. package/src/extractor/createExtractor.ts +0 -2970
  250. package/src/extractor/createLogger.ts +0 -41
  251. package/src/extractor/ensureImportingConcat.ts +0 -36
  252. package/src/extractor/errors.ts +0 -1
  253. package/src/extractor/evaluateAstNode.ts +0 -136
  254. package/src/extractor/extractHelpers.ts +0 -211
  255. package/src/extractor/extractMediaStyle.ts +0 -194
  256. package/src/extractor/extractToClassNames.ts +0 -733
  257. package/src/extractor/extractToNative.ts +0 -506
  258. package/src/extractor/findTopmostFunction.ts +0 -24
  259. package/src/extractor/generatedUid.ts +0 -41
  260. package/src/extractor/getPrefixLogs.ts +0 -9
  261. package/src/extractor/getPropValueFromAttributes.ts +0 -95
  262. package/src/extractor/getSourceModule.ts +0 -96
  263. package/src/extractor/getStaticBindingsForScope.ts +0 -237
  264. package/src/extractor/hasTopLevelAwait.ts +0 -28
  265. package/src/extractor/hoistClassNames.ts +0 -52
  266. package/src/extractor/literalToAst.ts +0 -85
  267. package/src/extractor/loadFile.ts +0 -17
  268. package/src/extractor/logLines.ts +0 -16
  269. package/src/extractor/normalizeTernaries.ts +0 -89
  270. package/src/extractor/propsToFontFamilyCache.ts +0 -18
  271. package/src/extractor/removeUnusedHooks.ts +0 -83
  272. package/src/extractor/timer.ts +0 -25
  273. package/src/extractor/validHTMLAttributes.ts +0 -52
  274. package/src/worker.ts +0 -142
  275. package/types/extractor/accessSafe.d.ts +0 -3
  276. package/types/extractor/accessSafe.d.ts.map +0 -1
  277. package/types/extractor/babelParse.d.ts +0 -5
  278. package/types/extractor/babelParse.d.ts.map +0 -1
  279. package/types/extractor/buildClassName.d.ts +0 -7
  280. package/types/extractor/buildClassName.d.ts.map +0 -1
  281. package/types/extractor/createEvaluator.d.ts +0 -12
  282. package/types/extractor/createEvaluator.d.ts.map +0 -1
  283. package/types/extractor/createExtractor.d.ts +0 -32
  284. package/types/extractor/createExtractor.d.ts.map +0 -1
  285. package/types/extractor/createLogger.d.ts +0 -3
  286. package/types/extractor/createLogger.d.ts.map +0 -1
  287. package/types/extractor/ensureImportingConcat.d.ts +0 -4
  288. package/types/extractor/ensureImportingConcat.d.ts.map +0 -1
  289. package/types/extractor/errors.d.ts +0 -3
  290. package/types/extractor/errors.d.ts.map +0 -1
  291. package/types/extractor/evaluateAstNode.d.ts +0 -3
  292. package/types/extractor/evaluateAstNode.d.ts.map +0 -1
  293. package/types/extractor/extractHelpers.d.ts +0 -28
  294. package/types/extractor/extractHelpers.d.ts.map +0 -1
  295. package/types/extractor/extractMediaStyle.d.ts +0 -11
  296. package/types/extractor/extractMediaStyle.d.ts.map +0 -1
  297. package/types/extractor/extractToClassNames.d.ts +0 -25
  298. package/types/extractor/extractToClassNames.d.ts.map +0 -1
  299. package/types/extractor/extractToNative.d.ts +0 -13
  300. package/types/extractor/extractToNative.d.ts.map +0 -1
  301. package/types/extractor/findTopmostFunction.d.ts +0 -4
  302. package/types/extractor/findTopmostFunction.d.ts.map +0 -1
  303. package/types/extractor/generatedUid.d.ts +0 -5
  304. package/types/extractor/generatedUid.d.ts.map +0 -1
  305. package/types/extractor/getPrefixLogs.d.ts +0 -3
  306. package/types/extractor/getPrefixLogs.d.ts.map +0 -1
  307. package/types/extractor/getPropValueFromAttributes.d.ts +0 -19
  308. package/types/extractor/getPropValueFromAttributes.d.ts.map +0 -1
  309. package/types/extractor/getSourceModule.d.ts +0 -16
  310. package/types/extractor/getSourceModule.d.ts.map +0 -1
  311. package/types/extractor/getStaticBindingsForScope.d.ts +0 -5
  312. package/types/extractor/getStaticBindingsForScope.d.ts.map +0 -1
  313. package/types/extractor/hasTopLevelAwait.d.ts +0 -2
  314. package/types/extractor/hasTopLevelAwait.d.ts.map +0 -1
  315. package/types/extractor/hoistClassNames.d.ts +0 -6
  316. package/types/extractor/hoistClassNames.d.ts.map +0 -1
  317. package/types/extractor/literalToAst.d.ts +0 -4
  318. package/types/extractor/literalToAst.d.ts.map +0 -1
  319. package/types/extractor/loadFile.d.ts +0 -1
  320. package/types/extractor/loadFile.d.ts.map +0 -1
  321. package/types/extractor/logLines.d.ts +0 -2
  322. package/types/extractor/logLines.d.ts.map +0 -1
  323. package/types/extractor/normalizeTernaries.d.ts +0 -5
  324. package/types/extractor/normalizeTernaries.d.ts.map +0 -1
  325. package/types/extractor/propsToFontFamilyCache.d.ts +0 -4
  326. package/types/extractor/propsToFontFamilyCache.d.ts.map +0 -1
  327. package/types/extractor/removeUnusedHooks.d.ts +0 -3
  328. package/types/extractor/removeUnusedHooks.d.ts.map +0 -1
  329. package/types/extractor/timer.d.ts +0 -5
  330. package/types/extractor/timer.d.ts.map +0 -1
  331. package/types/extractor/validHTMLAttributes.d.ts +0 -52
  332. package/types/extractor/validHTMLAttributes.d.ts.map +0 -1
  333. package/types/worker.d.ts +0 -46
  334. package/types/worker.d.ts.map +0 -1
  335. /package/dist/{setup.cjs → cjs/setup.cjs} +0 -0
@@ -0,0 +1,349 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
25
+ }) : target, mod));
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var compiler_exports = {};
28
+ __export(compiler_exports, {
29
+ CompilerFrontend: () => CompilerFrontend,
30
+ compilerProjectStamp: () => compilerProjectStamp,
31
+ loadCompilerProject: () => loadCompilerProject
32
+ });
33
+ module.exports = __toCommonJS(compiler_exports);
34
+ var import_compiler_core = require("@tamagui/compiler-core");
35
+ var import_node_fs = require("node:fs");
36
+ var import_node_module = require("node:module");
37
+ var import_node_path = __toESM(require("node:path"), 1);
38
+ var import_componentDiscovery = require("./componentDiscovery.cjs");
39
+ var import_compilerHost = require("./compilerHost.cjs");
40
+ var import_domStructuralPass = require("./domStructuralPass.cjs");
41
+ var import_loadTamagui = require("./extractor/loadTamagui.cjs");
42
+ var import_options = require("./zero/options.cjs");
43
+ const import_meta = {};
44
+ async function loadCompilerProject({ root, target, options: optionsIn, generation, rebuild = false, hostVersions = [], missingProjectMessage = "Unable to load the Tamagui compiler project", load = import_loadTamagui.loadTamagui, resolveComponents }) {
45
+ const components = [.../* @__PURE__ */ new Set(["@tamagui/core", ...optionsIn.components || ["tamagui"]])];
46
+ const options = {
47
+ ...optionsIn,
48
+ root,
49
+ platform: target,
50
+ components
51
+ };
52
+ const zeroRuntime = (0, import_options.resolveZeroRuntimeSync)(options, root).mode;
53
+ if (zeroRuntime === "enforce") options.outputCSS = void 0;
54
+ const projectInfo = await load(options, rebuild);
55
+ if (!projectInfo?.tamaguiConfig || !projectInfo.components) {
56
+ throw new Error(missingProjectMessage);
57
+ }
58
+ const componentModules = resolveComponents ? await resolveComponents(components, projectInfo, options) : [];
59
+ const disablePartialExtraction = !!options.disablePartialExtraction;
60
+ const experimentalNativeFastPath = target === "native" && options.experimental?.nativeFastPath === true;
61
+ return {
62
+ projectInfo,
63
+ componentModules,
64
+ generation: typeof generation === "function" ? generation(projectInfo, componentModules, options) : generation,
65
+ disablePartialExtraction,
66
+ experimentalNativeFastPath,
67
+ zeroRuntime: zeroRuntime !== "off",
68
+ cacheStamp: compilerProjectStamp({
69
+ stampSources: projectInfo.stampSources ?? [],
70
+ hostVersions,
71
+ target,
72
+ componentModules,
73
+ disablePartialExtraction,
74
+ experimentalNativeFastPath,
75
+ zeroRuntime: zeroRuntime !== "off",
76
+ development: process.env.NODE_ENV === "development"
77
+ })
78
+ };
79
+ }
80
+ const requireFromCompiler = (0, import_node_module.createRequire)(typeof __filename === "string" ? __filename : import_meta.url);
81
+ const compilerPackageVersions = ["@tamagui/compiler-core", "@tamagui/static"].map((name) => `${name}@${requireFromCompiler(`${name}/package.json`).version}`);
82
+ function compilerProjectStamp(input) {
83
+ if (!input.stampSources.length) return null;
84
+ const sources = [];
85
+ for (const file of [...new Set(input.stampSources)].sort()) {
86
+ try {
87
+ sources.push([file, (0, import_compiler_core.contentHash)((0, import_node_fs.readFileSync)(file))]);
88
+ } catch {
89
+ return null;
90
+ }
91
+ }
92
+ return (0, import_compiler_core.contentHash)((0, import_compiler_core.stableStringify)({
93
+ schema: import_compiler_core.PLAN_CACHE_SCHEMA_VERSION,
94
+ plan: import_compiler_core.LOWERED_MODULE_PLAN_VERSION,
95
+ packages: [...compilerPackageVersions, ...input.hostVersions].sort(),
96
+ target: input.target,
97
+ development: input.development,
98
+ componentModules: input.componentModules.map(({ moduleName, id }) => [moduleName, cleanId(id)]),
99
+ disablePartialExtraction: input.disablePartialExtraction,
100
+ experimentalNativeFastPath: input.experimentalNativeFastPath,
101
+ zeroRuntime: input.zeroRuntime,
102
+ sources
103
+ }));
104
+ }
105
+ function cleanId(id) {
106
+ return id.split(/[?#]/, 1)[0];
107
+ }
108
+ function externalId(specifier) {
109
+ return (0, import_compiler_core.resolvedModuleId)(`external://${encodeURIComponent(specifier)}`);
110
+ }
111
+ function compilerContext(input) {
112
+ return `${input.root}\0${input.target}\0${input.environment ?? ""}\0${input.project.generation}`;
113
+ }
114
+ function sourceCanBeLinked(root, id) {
115
+ const clean = cleanId(id);
116
+ const normalized = clean.replace(/\\/g, "/");
117
+ if (!import_node_path.default.isAbsolute(clean) || normalized.includes("/node_modules/")) return false;
118
+ const relative = import_node_path.default.relative(root, clean);
119
+ return relative === "" || relative !== ".." && !relative.startsWith(`..${import_node_path.default.sep}`);
120
+ }
121
+ var CompilerFrontend = class {
122
+ session = new import_compiler_core.CompilerSession();
123
+ queue = Promise.resolve();
124
+ planCaches = /* @__PURE__ */ new Map();
125
+ moduleRecords = /* @__PURE__ */ new Map();
126
+ moduleContext = null;
127
+ discovery = new import_componentDiscovery.ComponentDiscovery();
128
+ /**
129
+ * One cache per project root and platform. Absent when the project produced
130
+ * no content stamp, in which case plans are never persisted rather than
131
+ * persisted under an identity that cannot see a config change.
132
+ */
133
+ planCacheFor(input) {
134
+ const stamp = input.project.cacheStamp;
135
+ if (!stamp) return void 0;
136
+ const root = (0, import_compiler_core.defaultPlanCacheRoot)(input.root, input.target);
137
+ let store = this.planCaches.get(root);
138
+ if (!store) {
139
+ store = new import_compiler_core.ModulePlanCache(root);
140
+ this.planCaches.set(root, store);
141
+ }
142
+ return {
143
+ store,
144
+ stamp
145
+ };
146
+ }
147
+ /** Hits, misses and writes across every plan cache this frontend has used. */
148
+ get planCacheStats() {
149
+ const total = {
150
+ hits: 0,
151
+ misses: 0,
152
+ writes: 0
153
+ };
154
+ for (const store of this.planCaches.values()) {
155
+ total.hits += store.stats.hits;
156
+ total.misses += store.stats.misses;
157
+ total.writes += store.stats.writes;
158
+ }
159
+ return total;
160
+ }
161
+ compile(input) {
162
+ const operation = this.queue.then(async () => {
163
+ const previousTarget = process.env.TAMAGUI_TARGET;
164
+ const previousStatic = process.env.IS_STATIC;
165
+ try {
166
+ return await this.compileNow(input);
167
+ } finally {
168
+ if (previousTarget === void 0) delete process.env.TAMAGUI_TARGET;
169
+ else process.env.TAMAGUI_TARGET = previousTarget;
170
+ if (previousStatic === void 0) delete process.env.IS_STATIC;
171
+ else process.env.IS_STATIC = previousStatic;
172
+ }
173
+ });
174
+ this.queue = operation.catch(() => void 0);
175
+ return operation;
176
+ }
177
+ update(input) {
178
+ const operation = this.queue.then(async () => {
179
+ const { modules } = await this.buildTree(input);
180
+ const invalidated = /* @__PURE__ */ new Set();
181
+ for (const module2 of modules.values()) {
182
+ for (const id of await this.session.update(module2)) invalidated.add(id);
183
+ this.moduleRecords.set(module2.id, module2);
184
+ }
185
+ return [...invalidated].sort();
186
+ });
187
+ this.queue = operation.catch(() => void 0);
188
+ return operation;
189
+ }
190
+ has(id) {
191
+ return this.session.has((0, import_compiler_core.resolvedModuleId)(cleanId(id)));
192
+ }
193
+ dependentsOf(id) {
194
+ return this.session.dependentsOf((0, import_compiler_core.resolvedModuleId)(cleanId(id)));
195
+ }
196
+ remove(id) {
197
+ const operation = this.queue.then(async () => {
198
+ const result = await this.session.remove((0, import_compiler_core.resolvedModuleId)(cleanId(id)));
199
+ for (const invalidatedId of result.invalidatedIds) {
200
+ this.moduleRecords.delete(invalidatedId);
201
+ }
202
+ return result;
203
+ });
204
+ this.queue = operation.catch(() => void 0);
205
+ return operation;
206
+ }
207
+ parseCount(id) {
208
+ return this.session.parseCount((0, import_compiler_core.resolvedModuleId)(cleanId(id)));
209
+ }
210
+ async compileNow(input) {
211
+ const { rootModule, modules } = await this.buildTree(input);
212
+ const invalidated = /* @__PURE__ */ new Set();
213
+ for (const module2 of modules.values()) {
214
+ for (const id of await this.session.update(module2)) invalidated.add(id);
215
+ this.moduleRecords.set(module2.id, module2);
216
+ }
217
+ const projectInfo = input.project.projectInfo;
218
+ if (!projectInfo.tamaguiConfig || !projectInfo.components) {
219
+ throw new Error("The compiler requires evaluated Tamagui config and components");
220
+ }
221
+ const componentModules = input.project.componentModules.map((component) => ({
222
+ moduleName: component.moduleName,
223
+ resolvedId: cleanId(component.id)
224
+ }));
225
+ const registry = (0, import_compilerHost.createComponentRegistry)(projectInfo.components, componentModules);
226
+ this.discovery.seed(registry);
227
+ const host = (0, import_compilerHost.createTamaguiCompilerHost)({
228
+ target: input.target,
229
+ tamaguiConfig: projectInfo.tamaguiConfig,
230
+ components: projectInfo.components,
231
+ componentModules,
232
+ registry,
233
+ disablePartialExtraction: input.project.disablePartialExtraction,
234
+ experimentalNativeFastPath: input.project.experimentalNativeFastPath,
235
+ zeroRuntime: input.project.zeroRuntime
236
+ });
237
+ const result = await this.session.compile({
238
+ module: rootModule,
239
+ adapter: {
240
+ target: input.target,
241
+ projectGeneration: input.project.generation,
242
+ host,
243
+ planCache: this.planCacheFor(input),
244
+ async load(id) {
245
+ return modules.get(id) ?? null;
246
+ },
247
+ prepare: (module2) => this.discovery.prepare(module2, registry, input.evaluate)
248
+ },
249
+ structuralPass: import_domStructuralPass.domStructuralPass
250
+ });
251
+ for (const id of result.invalidatedIds) invalidated.add(id);
252
+ return {
253
+ plan: result.plan,
254
+ output: result.output,
255
+ invalidatedIds: [...invalidated].sort()
256
+ };
257
+ }
258
+ /** host-resolved ids of every module discovery found components in */
259
+ discoveredModuleIds() {
260
+ return this.discovery.ids();
261
+ }
262
+ async buildTree(input) {
263
+ const moduleContext = compilerContext(input);
264
+ if (this.moduleContext !== moduleContext) {
265
+ this.moduleRecords.clear();
266
+ this.discovery.clear();
267
+ this.moduleContext = moduleContext;
268
+ }
269
+ const componentBySpecifier = new Map(input.project.componentModules.map((component) => [component.moduleName, (0, import_compiler_core.resolvedModuleId)(cleanId(component.id))]));
270
+ const modules = /* @__PURE__ */ new Map();
271
+ const loading = /* @__PURE__ */ new Set();
272
+ const addInstalledClosure = (module2) => {
273
+ if (modules.has(module2.id) || loading.has(module2.id)) return;
274
+ loading.add(module2.id);
275
+ for (const dependency of module2.imports) {
276
+ if (dependency.external) continue;
277
+ const installedDependency = this.moduleRecords.get(dependency.resolvedId);
278
+ if (installedDependency && this.session.has(dependency.resolvedId)) {
279
+ addInstalledClosure(installedDependency);
280
+ }
281
+ }
282
+ modules.set(module2.id, module2);
283
+ loading.delete(module2.id);
284
+ };
285
+ const loadModule = async (rawId, source) => {
286
+ const id = (0, import_compiler_core.resolvedModuleId)(cleanId(rawId));
287
+ const existing = modules.get(id);
288
+ if (existing) return existing;
289
+ const installed = this.moduleRecords.get(id);
290
+ if (installed?.source === source && this.session.has(id)) {
291
+ addInstalledClosure(installed);
292
+ return installed;
293
+ }
294
+ if (loading.has(id)) {
295
+ return {
296
+ id,
297
+ source,
298
+ imports: []
299
+ };
300
+ }
301
+ loading.add(id);
302
+ const imports = [];
303
+ for (const specifier of import_compiler_core.yukuFactory.scanImports(id, source)) {
304
+ const configuredComponent = componentBySpecifier.get(specifier);
305
+ if (configuredComponent) {
306
+ imports.push({
307
+ specifier,
308
+ resolvedId: configuredComponent,
309
+ external: true
310
+ });
311
+ continue;
312
+ }
313
+ const resolution = await input.resolve(specifier, id);
314
+ if (!resolution) continue;
315
+ const canLink = !resolution.external && sourceCanBeLinked(input.root, resolution.id);
316
+ const resolvedId = canLink ? (0, import_compiler_core.resolvedModuleId)(cleanId(resolution.id)) : import_node_path.default.isAbsolute(cleanId(resolution.id)) ? (0, import_compiler_core.resolvedModuleId)(cleanId(resolution.id)) : externalId(specifier);
317
+ imports.push({
318
+ specifier,
319
+ resolvedId,
320
+ external: !canLink
321
+ });
322
+ if (canLink && !modules.has(resolvedId) && !loading.has(resolvedId)) {
323
+ const installedDependency = this.moduleRecords.get(resolvedId);
324
+ if (installedDependency && this.session.has(resolvedId)) {
325
+ addInstalledClosure(installedDependency);
326
+ } else {
327
+ const dependencySource = await input.load(resolution.id);
328
+ if (dependencySource !== null) {
329
+ await loadModule(resolution.id, dependencySource);
330
+ }
331
+ }
332
+ }
333
+ }
334
+ const module2 = {
335
+ id,
336
+ source,
337
+ imports
338
+ };
339
+ modules.set(id, module2);
340
+ loading.delete(id);
341
+ return module2;
342
+ };
343
+ const rootModule = await loadModule(input.id, input.source);
344
+ return {
345
+ rootModule,
346
+ modules
347
+ };
348
+ }
349
+ };