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