react-native-css 3.0.0-preview.3 → 3.0.0-preview.5

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 (312) hide show
  1. package/dist/commonjs/compiler/atRules.js +30 -16
  2. package/dist/commonjs/compiler/atRules.js.map +1 -1
  3. package/dist/commonjs/compiler/compiler.js +29 -19
  4. package/dist/commonjs/compiler/compiler.js.map +1 -1
  5. package/dist/commonjs/compiler/declarations.js +10 -10
  6. package/dist/commonjs/compiler/declarations.js.map +1 -1
  7. package/dist/commonjs/compiler/keyframes.js +1 -1
  8. package/dist/commonjs/compiler/keyframes.js.map +1 -1
  9. package/dist/commonjs/compiler/lightningcss-loader.js +40 -0
  10. package/dist/commonjs/compiler/lightningcss-loader.js.map +1 -0
  11. package/dist/commonjs/compiler/selector-builder.js +3 -2
  12. package/dist/commonjs/compiler/selector-builder.js.map +1 -1
  13. package/dist/commonjs/compiler/stylesheet.js +5 -7
  14. package/dist/commonjs/compiler/stylesheet.js.map +1 -1
  15. package/dist/commonjs/components/ActivityIndicator.js.map +1 -1
  16. package/dist/commonjs/components/Button.js.map +1 -1
  17. package/dist/commonjs/components/FlatList.js +4 -3
  18. package/dist/commonjs/components/FlatList.js.map +1 -1
  19. package/dist/commonjs/components/Image.js.map +1 -1
  20. package/dist/commonjs/components/ImageBackground.js +22 -0
  21. package/dist/commonjs/components/ImageBackground.js.map +1 -0
  22. package/dist/commonjs/components/KeyboardAvoidingView.js +19 -0
  23. package/dist/commonjs/components/KeyboardAvoidingView.js.map +1 -0
  24. package/dist/commonjs/components/Pressable.js +17 -0
  25. package/dist/commonjs/components/Pressable.js.map +1 -0
  26. package/dist/commonjs/components/ScrollView.js +18 -0
  27. package/dist/commonjs/components/ScrollView.js.map +1 -0
  28. package/dist/commonjs/components/TextInput.js +6 -1
  29. package/dist/commonjs/components/TextInput.js.map +1 -1
  30. package/dist/commonjs/components/TouchableHighlight.js +17 -0
  31. package/dist/commonjs/components/TouchableHighlight.js.map +1 -0
  32. package/dist/commonjs/components/TouchableOpacity.js +17 -0
  33. package/dist/commonjs/components/TouchableOpacity.js.map +1 -0
  34. package/dist/commonjs/components/TouchableWithoutFeedback.js +17 -0
  35. package/dist/commonjs/components/TouchableWithoutFeedback.js.map +1 -0
  36. package/dist/commonjs/components/VirtualizedList.js +20 -0
  37. package/dist/commonjs/components/VirtualizedList.js.map +1 -0
  38. package/dist/commonjs/components/index.cjs +265 -0
  39. package/dist/commonjs/components/index.cjs.map +1 -0
  40. package/dist/commonjs/components/index.js +65 -1
  41. package/dist/commonjs/components/index.js.map +1 -1
  42. package/dist/commonjs/index.js +0 -11
  43. package/dist/commonjs/index.js.map +1 -1
  44. package/dist/commonjs/jest/index.js +1 -1
  45. package/dist/commonjs/jest/index.js.map +1 -1
  46. package/dist/commonjs/metro/index.js +7 -117
  47. package/dist/commonjs/metro/index.js.map +1 -1
  48. package/dist/commonjs/metro/metro-transformer.js +8 -1
  49. package/dist/commonjs/metro/metro-transformer.js.map +1 -1
  50. package/dist/commonjs/{native/metro.js → metro/override.js} +1 -1
  51. package/dist/commonjs/{native/metro.js.map → metro/override.js.map} +1 -1
  52. package/dist/commonjs/metro/resolver.js +11 -20
  53. package/dist/commonjs/metro/resolver.js.map +1 -1
  54. package/dist/commonjs/native/index.js +8 -8
  55. package/dist/commonjs/native/index.js.map +1 -1
  56. package/dist/commonjs/{poison.pill.js → native/react-native-css-metro-override.js} +1 -1
  57. package/dist/commonjs/native/react-native-css-metro-override.js.map +1 -0
  58. package/dist/commonjs/native/styles/calculate-props.js +1 -1
  59. package/dist/commonjs/native/styles/resolve.js +0 -1
  60. package/dist/commonjs/native/styles/resolve.js.map +1 -1
  61. package/dist/commonjs/native/styles/shorthands/animation.js +6 -2
  62. package/dist/commonjs/native/styles/shorthands/animation.js.map +1 -1
  63. package/dist/module/compiler/atRules.js +30 -16
  64. package/dist/module/compiler/atRules.js.map +1 -1
  65. package/dist/module/compiler/compiler.js +25 -15
  66. package/dist/module/compiler/compiler.js.map +1 -1
  67. package/dist/module/compiler/declarations.js +10 -10
  68. package/dist/module/compiler/declarations.js.map +1 -1
  69. package/dist/module/compiler/keyframes.js +1 -1
  70. package/dist/module/compiler/keyframes.js.map +1 -1
  71. package/dist/module/compiler/lightningcss-loader.js +36 -0
  72. package/dist/module/compiler/lightningcss-loader.js.map +1 -0
  73. package/dist/module/compiler/selector-builder.js +3 -2
  74. package/dist/module/compiler/selector-builder.js.map +1 -1
  75. package/dist/module/compiler/stylesheet.js +5 -7
  76. package/dist/module/compiler/stylesheet.js.map +1 -1
  77. package/dist/module/components/ActivityIndicator.js.map +1 -1
  78. package/dist/module/components/Button.js.map +1 -1
  79. package/dist/module/components/FlatList.js +4 -3
  80. package/dist/module/components/FlatList.js.map +1 -1
  81. package/dist/module/components/Image.js.map +1 -1
  82. package/dist/module/components/ImageBackground.js +17 -0
  83. package/dist/module/components/ImageBackground.js.map +1 -0
  84. package/dist/module/components/KeyboardAvoidingView.js +14 -0
  85. package/dist/module/components/KeyboardAvoidingView.js.map +1 -0
  86. package/dist/module/components/Pressable.js +12 -0
  87. package/dist/module/components/Pressable.js.map +1 -0
  88. package/dist/module/components/ScrollView.js +13 -0
  89. package/dist/module/components/ScrollView.js.map +1 -0
  90. package/dist/module/components/TextInput.js +6 -1
  91. package/dist/module/components/TextInput.js.map +1 -1
  92. package/dist/module/components/TouchableHighlight.js +12 -0
  93. package/dist/module/components/TouchableHighlight.js.map +1 -0
  94. package/dist/module/components/TouchableOpacity.js +12 -0
  95. package/dist/module/components/TouchableOpacity.js.map +1 -0
  96. package/dist/module/components/TouchableWithoutFeedback.js +12 -0
  97. package/dist/module/components/TouchableWithoutFeedback.js.map +1 -0
  98. package/dist/module/components/VirtualizedList.js +15 -0
  99. package/dist/module/components/VirtualizedList.js.map +1 -0
  100. package/dist/module/components/index.cjs +265 -0
  101. package/dist/module/components/index.cjs.map +1 -0
  102. package/dist/module/components/index.js +8 -0
  103. package/dist/module/components/index.js.map +1 -1
  104. package/dist/module/index.js +0 -1
  105. package/dist/module/index.js.map +1 -1
  106. package/dist/module/jest/index.js +1 -1
  107. package/dist/module/jest/index.js.map +1 -1
  108. package/dist/module/metro/index.js +7 -116
  109. package/dist/module/metro/index.js.map +1 -1
  110. package/dist/module/metro/metro-transformer.js +8 -1
  111. package/dist/module/metro/metro-transformer.js.map +1 -1
  112. package/dist/module/metro/override.js +4 -0
  113. package/dist/module/{native/metro.js.map → metro/override.js.map} +1 -1
  114. package/dist/module/metro/resolver.js +11 -20
  115. package/dist/module/metro/resolver.js.map +1 -1
  116. package/dist/module/native/index.js +1 -1
  117. package/dist/module/native/index.js.map +1 -1
  118. package/dist/module/{poison.pill.js → native/react-native-css-metro-override.js} +1 -1
  119. package/dist/module/native/react-native-css-metro-override.js.map +1 -0
  120. package/dist/module/native/styles/calculate-props.js +1 -1
  121. package/dist/module/native/styles/resolve.js +0 -1
  122. package/dist/module/native/styles/resolve.js.map +1 -1
  123. package/dist/module/native/styles/shorthands/animation.js +4 -1
  124. package/dist/module/native/styles/shorthands/animation.js.map +1 -1
  125. package/dist/typescript/commonjs/.config/eslint.config.d.mts +3 -0
  126. package/dist/typescript/commonjs/.config/eslint.config.d.mts.map +1 -0
  127. package/dist/typescript/commonjs/eslint.config.d.mts +2 -0
  128. package/dist/typescript/commonjs/eslint.config.d.mts.map +1 -0
  129. package/dist/typescript/commonjs/example/app.config.d.ts.map +1 -1
  130. package/dist/typescript/commonjs/example/index.d.ts +2 -0
  131. package/dist/typescript/commonjs/example/index.d.ts.map +1 -0
  132. package/dist/typescript/commonjs/example/metro.config.d.ts +3 -0
  133. package/dist/typescript/commonjs/example/metro.config.d.ts.map +1 -0
  134. package/dist/typescript/commonjs/example/postcss.config.d.mts +7 -0
  135. package/dist/typescript/commonjs/example/postcss.config.d.mts.map +1 -0
  136. package/dist/typescript/commonjs/example/src/App.d.ts.map +1 -1
  137. package/dist/typescript/commonjs/src/compiler/compiler.d.ts.map +1 -1
  138. package/dist/typescript/commonjs/src/compiler/declarations.d.ts +1 -1
  139. package/dist/typescript/commonjs/src/compiler/keyframes.d.ts +1 -1
  140. package/dist/typescript/commonjs/src/compiler/keyframes.d.ts.map +1 -1
  141. package/dist/typescript/commonjs/src/compiler/lightningcss-loader.d.ts +30 -0
  142. package/dist/typescript/commonjs/src/compiler/lightningcss-loader.d.ts.map +1 -0
  143. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts.map +1 -1
  144. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts +2 -1
  145. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts.map +1 -1
  146. package/dist/typescript/commonjs/src/components/ActivityIndicator.d.ts +3 -10
  147. package/dist/typescript/commonjs/src/components/ActivityIndicator.d.ts.map +1 -1
  148. package/dist/typescript/commonjs/src/components/Button.d.ts +3 -10
  149. package/dist/typescript/commonjs/src/components/Button.d.ts.map +1 -1
  150. package/dist/typescript/commonjs/src/components/FlatList.d.ts +3 -7
  151. package/dist/typescript/commonjs/src/components/FlatList.d.ts.map +1 -1
  152. package/dist/typescript/commonjs/src/components/Image.d.ts +3 -5
  153. package/dist/typescript/commonjs/src/components/Image.d.ts.map +1 -1
  154. package/dist/typescript/commonjs/src/components/ImageBackground.d.ts +6 -0
  155. package/dist/typescript/commonjs/src/components/ImageBackground.d.ts.map +1 -0
  156. package/dist/typescript/commonjs/src/components/KeyboardAvoidingView.d.ts +6 -0
  157. package/dist/typescript/commonjs/src/components/KeyboardAvoidingView.d.ts.map +1 -0
  158. package/dist/typescript/commonjs/src/components/Pressable.d.ts +6 -0
  159. package/dist/typescript/commonjs/src/components/Pressable.d.ts.map +1 -0
  160. package/dist/typescript/commonjs/src/components/ScrollView.d.ts +6 -0
  161. package/dist/typescript/commonjs/src/components/ScrollView.d.ts.map +1 -0
  162. package/dist/typescript/commonjs/src/components/TextInput.d.ts +3 -5
  163. package/dist/typescript/commonjs/src/components/TextInput.d.ts.map +1 -1
  164. package/dist/typescript/commonjs/src/components/TouchableHighlight.d.ts +6 -0
  165. package/dist/typescript/commonjs/src/components/TouchableHighlight.d.ts.map +1 -0
  166. package/dist/typescript/commonjs/src/components/TouchableOpacity.d.ts +6 -0
  167. package/dist/typescript/commonjs/src/components/TouchableOpacity.d.ts.map +1 -0
  168. package/dist/typescript/commonjs/src/components/TouchableWithoutFeedback.d.ts +6 -0
  169. package/dist/typescript/commonjs/src/components/TouchableWithoutFeedback.d.ts.map +1 -0
  170. package/dist/typescript/commonjs/src/components/VirtualizedList.d.ts +6 -0
  171. package/dist/typescript/commonjs/src/components/VirtualizedList.d.ts.map +1 -0
  172. package/dist/typescript/commonjs/src/components/index.d.cts +2 -0
  173. package/dist/typescript/commonjs/src/components/index.d.cts.map +1 -0
  174. package/dist/typescript/commonjs/src/components/index.d.ts +8 -0
  175. package/dist/typescript/commonjs/src/components/index.d.ts.map +1 -1
  176. package/dist/typescript/commonjs/src/index.d.ts +0 -1
  177. package/dist/typescript/commonjs/src/index.d.ts.map +1 -1
  178. package/dist/typescript/commonjs/src/jest/index.d.ts.map +1 -1
  179. package/dist/typescript/commonjs/src/metro/index.d.ts.map +1 -1
  180. package/dist/typescript/commonjs/src/metro/metro-transformer.d.ts.map +1 -1
  181. package/dist/typescript/commonjs/src/metro/override.d.ts +2 -0
  182. package/dist/typescript/commonjs/src/metro/override.d.ts.map +1 -0
  183. package/dist/typescript/commonjs/src/metro/resolver.d.ts.map +1 -1
  184. package/dist/typescript/commonjs/src/native/index.d.ts +1 -1
  185. package/dist/typescript/commonjs/src/native/index.d.ts.map +1 -1
  186. package/dist/typescript/commonjs/src/native/react-native-css-metro-override.d.ts +2 -0
  187. package/dist/typescript/commonjs/src/native/react-native-css-metro-override.d.ts.map +1 -0
  188. package/dist/typescript/commonjs/src/native/styles/resolve.d.ts.map +1 -1
  189. package/dist/typescript/commonjs/src/native/styles/shorthands/animation.d.ts +1 -0
  190. package/dist/typescript/commonjs/src/native/styles/shorthands/animation.d.ts.map +1 -1
  191. package/dist/typescript/module/.config/eslint.config.d.mts +3 -0
  192. package/dist/typescript/module/.config/eslint.config.d.mts.map +1 -0
  193. package/dist/typescript/module/eslint.config.d.mts +2 -0
  194. package/dist/typescript/module/eslint.config.d.mts.map +1 -0
  195. package/dist/typescript/module/example/app.config.d.ts.map +1 -1
  196. package/dist/typescript/module/example/index.d.ts +2 -0
  197. package/dist/typescript/module/example/index.d.ts.map +1 -0
  198. package/dist/typescript/module/example/metro.config.d.ts +3 -0
  199. package/dist/typescript/module/example/metro.config.d.ts.map +1 -0
  200. package/dist/typescript/module/example/postcss.config.d.mts +7 -0
  201. package/dist/typescript/module/example/postcss.config.d.mts.map +1 -0
  202. package/dist/typescript/module/example/src/App.d.ts.map +1 -1
  203. package/dist/typescript/module/src/compiler/compiler.d.ts.map +1 -1
  204. package/dist/typescript/module/src/compiler/declarations.d.ts +1 -1
  205. package/dist/typescript/module/src/compiler/keyframes.d.ts +1 -1
  206. package/dist/typescript/module/src/compiler/keyframes.d.ts.map +1 -1
  207. package/dist/typescript/module/src/compiler/lightningcss-loader.d.ts +30 -0
  208. package/dist/typescript/module/src/compiler/lightningcss-loader.d.ts.map +1 -0
  209. package/dist/typescript/module/src/compiler/selector-builder.d.ts.map +1 -1
  210. package/dist/typescript/module/src/compiler/stylesheet.d.ts +2 -1
  211. package/dist/typescript/module/src/compiler/stylesheet.d.ts.map +1 -1
  212. package/dist/typescript/module/src/components/ActivityIndicator.d.ts +3 -10
  213. package/dist/typescript/module/src/components/ActivityIndicator.d.ts.map +1 -1
  214. package/dist/typescript/module/src/components/Button.d.ts +3 -10
  215. package/dist/typescript/module/src/components/Button.d.ts.map +1 -1
  216. package/dist/typescript/module/src/components/FlatList.d.ts +3 -7
  217. package/dist/typescript/module/src/components/FlatList.d.ts.map +1 -1
  218. package/dist/typescript/module/src/components/Image.d.ts +3 -5
  219. package/dist/typescript/module/src/components/Image.d.ts.map +1 -1
  220. package/dist/typescript/module/src/components/ImageBackground.d.ts +6 -0
  221. package/dist/typescript/module/src/components/ImageBackground.d.ts.map +1 -0
  222. package/dist/typescript/module/src/components/KeyboardAvoidingView.d.ts +6 -0
  223. package/dist/typescript/module/src/components/KeyboardAvoidingView.d.ts.map +1 -0
  224. package/dist/typescript/module/src/components/Pressable.d.ts +6 -0
  225. package/dist/typescript/module/src/components/Pressable.d.ts.map +1 -0
  226. package/dist/typescript/module/src/components/ScrollView.d.ts +6 -0
  227. package/dist/typescript/module/src/components/ScrollView.d.ts.map +1 -0
  228. package/dist/typescript/module/src/components/TextInput.d.ts +3 -5
  229. package/dist/typescript/module/src/components/TextInput.d.ts.map +1 -1
  230. package/dist/typescript/module/src/components/TouchableHighlight.d.ts +6 -0
  231. package/dist/typescript/module/src/components/TouchableHighlight.d.ts.map +1 -0
  232. package/dist/typescript/module/src/components/TouchableOpacity.d.ts +6 -0
  233. package/dist/typescript/module/src/components/TouchableOpacity.d.ts.map +1 -0
  234. package/dist/typescript/module/src/components/TouchableWithoutFeedback.d.ts +6 -0
  235. package/dist/typescript/module/src/components/TouchableWithoutFeedback.d.ts.map +1 -0
  236. package/dist/typescript/module/src/components/VirtualizedList.d.ts +6 -0
  237. package/dist/typescript/module/src/components/VirtualizedList.d.ts.map +1 -0
  238. package/dist/typescript/module/src/components/index.d.cts +2 -0
  239. package/dist/typescript/module/src/components/index.d.cts.map +1 -0
  240. package/dist/typescript/module/src/components/index.d.ts +8 -0
  241. package/dist/typescript/module/src/components/index.d.ts.map +1 -1
  242. package/dist/typescript/module/src/index.d.ts +0 -1
  243. package/dist/typescript/module/src/index.d.ts.map +1 -1
  244. package/dist/typescript/module/src/jest/index.d.ts.map +1 -1
  245. package/dist/typescript/module/src/metro/index.d.ts.map +1 -1
  246. package/dist/typescript/module/src/metro/metro-transformer.d.ts.map +1 -1
  247. package/dist/typescript/module/src/metro/override.d.ts +2 -0
  248. package/dist/typescript/module/src/metro/override.d.ts.map +1 -0
  249. package/dist/typescript/module/src/metro/resolver.d.ts.map +1 -1
  250. package/dist/typescript/module/src/native/index.d.ts +1 -1
  251. package/dist/typescript/module/src/native/index.d.ts.map +1 -1
  252. package/dist/typescript/module/src/native/react-native-css-metro-override.d.ts +2 -0
  253. package/dist/typescript/module/src/native/react-native-css-metro-override.d.ts.map +1 -0
  254. package/dist/typescript/module/src/native/styles/resolve.d.ts.map +1 -1
  255. package/dist/typescript/module/src/native/styles/shorthands/animation.d.ts +1 -0
  256. package/dist/typescript/module/src/native/styles/shorthands/animation.d.ts.map +1 -1
  257. package/package.json +14 -16
  258. package/src/compiler/atRules.ts +30 -17
  259. package/src/compiler/compiler.ts +27 -16
  260. package/src/compiler/declarations.ts +10 -10
  261. package/src/compiler/keyframes.ts +2 -2
  262. package/src/compiler/lightningcss-loader.ts +40 -0
  263. package/src/compiler/selector-builder.ts +6 -2
  264. package/src/compiler/stylesheet.ts +5 -7
  265. package/src/components/ActivityIndicator.tsx +2 -2
  266. package/src/components/Button.tsx +2 -2
  267. package/src/components/FlatList.tsx +6 -5
  268. package/src/components/Image.tsx +2 -2
  269. package/src/components/ImageBackground.tsx +27 -0
  270. package/src/components/KeyboardAvoidingView.tsx +24 -0
  271. package/src/components/Pressable.tsx +17 -0
  272. package/src/components/ScrollView.tsx +20 -0
  273. package/src/components/TextInput.tsx +8 -3
  274. package/src/components/TouchableHighlight.tsx +22 -0
  275. package/src/components/TouchableOpacity.tsx +22 -0
  276. package/src/components/TouchableWithoutFeedback.tsx +22 -0
  277. package/src/components/VirtualizedList.tsx +25 -0
  278. package/src/components/index.cts +263 -0
  279. package/src/components/index.ts +17 -0
  280. package/src/index.ts +0 -2
  281. package/src/jest/index.ts +2 -1
  282. package/src/metro/index.ts +7 -165
  283. package/src/metro/metro-transformer.ts +15 -1
  284. package/src/metro/override.ts +1 -0
  285. package/src/metro/resolver.ts +20 -26
  286. package/src/native/index.ts +1 -2
  287. package/src/native/styles/calculate-props.ts +1 -1
  288. package/src/native/styles/resolve.ts +0 -1
  289. package/src/native/styles/shorthands/animation.ts +10 -2
  290. package/dist/commonjs/poison.pill.js.map +0 -1
  291. package/dist/commonjs/runtime/native/injection.js +0 -2
  292. package/dist/commonjs/runtime/native/injection.js.map +0 -1
  293. package/dist/module/native/metro.js +0 -5
  294. package/dist/module/poison.pill.js.map +0 -1
  295. package/dist/module/runtime/native/injection.js +0 -2
  296. package/dist/module/runtime/native/injection.js.map +0 -1
  297. package/dist/typescript/commonjs/src/native/metro.d.ts +0 -2
  298. package/dist/typescript/commonjs/src/native/metro.d.ts.map +0 -1
  299. package/dist/typescript/commonjs/src/poison.pill.d.ts +0 -2
  300. package/dist/typescript/commonjs/src/poison.pill.d.ts.map +0 -1
  301. package/dist/typescript/commonjs/src/runtime/native/injection.d.ts +0 -1
  302. package/dist/typescript/commonjs/src/runtime/native/injection.d.ts.map +0 -1
  303. package/dist/typescript/module/src/native/metro.d.ts +0 -2
  304. package/dist/typescript/module/src/native/metro.d.ts.map +0 -1
  305. package/dist/typescript/module/src/poison.pill.d.ts +0 -2
  306. package/dist/typescript/module/src/poison.pill.d.ts.map +0 -1
  307. package/dist/typescript/module/src/runtime/native/injection.d.ts +0 -1
  308. package/dist/typescript/module/src/runtime/native/injection.d.ts.map +0 -1
  309. package/src/components/index.tsx +0 -10
  310. package/src/native/metro.ts +0 -2
  311. package/src/runtime/native/injection.ts +0 -0
  312. /package/src/{poison.pill.ts → native/react-native-css-metro-override.ts} +0 -0
@@ -1,16 +1,9 @@
1
1
  /* eslint-disable */
2
- import { dirname, relative, sep } from "node:path";
3
2
  import { versions } from "node:process";
4
3
 
5
- import debug from "debug";
6
4
  import type { MetroConfig } from "metro-config";
7
5
 
8
- import {
9
- compile,
10
- type CompilerOptions,
11
- type ReactNativeCssStyleSheet,
12
- } from "../compiler";
13
- import { getNativeInjectionCode, getWebInjectionCode } from "./injection-code";
6
+ import { type CompilerOptions } from "../compiler";
14
7
  import { nativeResolver, webResolver } from "./resolver";
15
8
  import { setupTypeScript } from "./typescript";
16
9
 
@@ -24,7 +17,10 @@ export interface WithReactNativeCSSOptions extends CompilerOptions {
24
17
  hexColors?: boolean;
25
18
  }
26
19
 
27
- const defaultLogger = debug("react-native-css:metro");
20
+ const metroOverrideResolution = {
21
+ type: "sourceFile",
22
+ filePath: require.resolve("./override"),
23
+ };
28
24
 
29
25
  export function withReactNativeCSS<
30
26
  T extends MetroConfig | (() => Promise<MetroConfig>),
@@ -43,11 +39,8 @@ export function withReactNativeCSS<
43
39
  disableTypeScriptGeneration,
44
40
  typescriptEnvPath,
45
41
  globalClassNamePolyfill = false,
46
- logger = defaultLogger,
47
42
  } = options || {};
48
43
 
49
- const loggerEnabled = "enabled" in logger ? logger.enabled : true;
50
-
51
44
  if (disableTypeScriptGeneration !== true) {
52
45
  setupTypeScript(typescriptEnvPath);
53
46
  }
@@ -63,8 +56,8 @@ export function withReactNativeCSS<
63
56
  ...config.resolver,
64
57
  sourceExts: [...(config?.resolver?.sourceExts || []), "css"],
65
58
  resolveRequest: (context, moduleName, platform) => {
66
- if (moduleName.includes("poison.pill")) {
67
- return { type: "empty" };
59
+ if (moduleName.includes("react-native-css-metro-override")) {
60
+ return metroOverrideResolution;
68
61
  }
69
62
 
70
63
  const parentResolver =
@@ -86,156 +79,5 @@ export function withReactNativeCSS<
86
79
  return resolved;
87
80
  },
88
81
  },
89
- server: {
90
- ...config.server,
91
- enhanceMiddleware(metroMiddleware, metroServer) {
92
- const bundler: any = metroServer.getBundler().getBundler();
93
-
94
- if (!bundler.__react_native_css__patched) {
95
- bundler.__react_native_css__patched = true;
96
-
97
- const nativeCSSFiles = new Map<
98
- string,
99
- [string, ReactNativeCssStyleSheet]
100
- >();
101
- const webCSSFiles = new Set<string>();
102
-
103
- const nativeInjectionPath = require.resolve("../native/metro");
104
- const nativeInjectionFilepaths = [
105
- // CommonJS
106
- nativeInjectionPath,
107
- // ES Module
108
- nativeInjectionPath.replace(
109
- `dist${sep}commonjs`,
110
- `dist${sep}module`,
111
- ),
112
- // TypeScript
113
- nativeInjectionPath
114
- .replace(`dist${sep}commonjs`, `src`)
115
- .replace(".js", ".ts"),
116
- ];
117
-
118
- const webInjectionPath = require.resolve("../web/metro");
119
- const webInjectionFilepaths = [
120
- // CommonJS
121
- webInjectionPath,
122
- // ES Module
123
- webInjectionPath.replace(`dist${sep}commonjs`, `dist${sep}module`),
124
- // TypeScript
125
- webInjectionPath
126
- .replace(`dist${sep}commonjs`, `src`)
127
- .replace(".js", ".ts"),
128
- ];
129
-
130
- // Keep the original
131
- const transformFile = bundler.transformFile.bind(bundler);
132
-
133
- const watcher = bundler.getWatcher();
134
-
135
- // Patch with our functionality
136
- bundler.transformFile = async function (
137
- filePath: string,
138
- transformOptions: any,
139
- fileBuffer?: Buffer,
140
- ) {
141
- const isCss = /\.(s?css|sass)$/.test(filePath);
142
-
143
- if (transformOptions.platform === "web") {
144
- if (isCss) {
145
- webCSSFiles.add(filePath);
146
- } else if (webInjectionFilepaths.includes(filePath)) {
147
- fileBuffer = getWebInjectionCode(Array.from(webCSSFiles));
148
- }
149
-
150
- return transformFile(filePath, transformOptions, fileBuffer);
151
- } else {
152
- // Handle CSS files on native platforms
153
- if (isCss) {
154
- const webTransform = await transformFile(
155
- filePath,
156
- {
157
- ...transformOptions,
158
- // Force the platform to web for CSS files
159
- platform: "web",
160
- // Let the transformer know that we will handle compilation
161
- customTransformOptions: {
162
- ...transformOptions.customTransformOptions,
163
- reactNativeCSS: options,
164
- },
165
- },
166
- fileBuffer,
167
- );
168
-
169
- const lastTransform = nativeCSSFiles.get(filePath);
170
- const last = lastTransform?.[0];
171
- const next = webTransform.output[0].data.css.code.toString();
172
-
173
- // The CSS file has changed, we need to recompile the injection file
174
- if (next !== last) {
175
- nativeCSSFiles.set(filePath, [
176
- next,
177
- compile(next, {
178
- hexColors: options?.hexColors,
179
- }).stylesheet(),
180
- ]);
181
-
182
- watcher.emit("change", {
183
- eventsQueue: nativeInjectionFilepaths.map((filePath) => ({
184
- filePath,
185
- metadata: {
186
- modifiedTime: Date.now(),
187
- size: 1, // Can be anything
188
- type: "virtual", // Can be anything
189
- },
190
- type: "change",
191
- })),
192
- });
193
- }
194
-
195
- const nativeTransform = await transformFile(
196
- filePath,
197
- transformOptions,
198
- fileBuffer,
199
- );
200
-
201
- // Tell Expo to skip caching this file
202
- nativeTransform.output[0].data.css = {
203
- skipCache: true,
204
- // Expo requires a `code` property
205
- code: "",
206
- };
207
-
208
- return nativeTransform;
209
- } else if (nativeInjectionFilepaths.includes(filePath)) {
210
- // If this is the injection file, we to swap its content with the
211
- // compiled CSS files
212
- fileBuffer = getNativeInjectionCode(
213
- Array.from(nativeCSSFiles.keys()).map((key) =>
214
- relative(dirname(filePath), key),
215
- ),
216
- Array.from(nativeCSSFiles.values()).map(([, value]) => value),
217
- );
218
-
219
- if (loggerEnabled && fileBuffer) {
220
- logger(`Transformed ${filePath}`);
221
- logger(fileBuffer?.toString());
222
- }
223
- }
224
-
225
- return transformFile(filePath, transformOptions, fileBuffer);
226
- }
227
- };
228
- }
229
-
230
- /**
231
- * We don't modify the middleware, we just use this function to get the metroServer
232
- * So simply return the existing middleware
233
- */
234
- return (
235
- config.server?.enhanceMiddleware?.(metroMiddleware, metroServer) ??
236
- metroMiddleware
237
- );
238
- },
239
- },
240
82
  };
241
83
  }
@@ -44,5 +44,19 @@ export async function transform(
44
44
 
45
45
  data = Buffer.from(getNativeInjectionCode([], [productionJS]));
46
46
 
47
- return worker.transform(config, projectRoot, `${filePath}.js`, data, options);
47
+ const transform = await worker.transform(
48
+ config,
49
+ projectRoot,
50
+ `${filePath}.js`,
51
+ data,
52
+ options,
53
+ );
54
+
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
56
+ (transform as any).output[0].data.css = {
57
+ skipCache: true,
58
+ code: "",
59
+ };
60
+
61
+ return transform;
48
62
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -24,45 +24,39 @@ export function nativeResolver(
24
24
  platform: string | null,
25
25
  ): Resolution {
26
26
  const resolution = resolver(context, moduleName, platform);
27
+ const isInternal = isFromThisModule(context.originModulePath);
28
+ const isReactNativeIndex = context.originModulePath.endsWith(
29
+ `react-native${sep}index.js`,
30
+ );
27
31
 
28
- if (
29
- // Don't include our internal files
30
- isFromThisModule(context.originModulePath) ||
31
- // Only operate on source files
32
- resolution.type !== "sourceFile" ||
33
- // Skip the React Native barrel file to prevent infinite recursion
34
- context.originModulePath.endsWith("react-native/index.js") ||
35
- // Skip anything that isn't importing a React Native component
36
- !(
37
- moduleName.startsWith("react-native") ||
38
- moduleName.startsWith("react-native/")
39
- )
40
- ) {
32
+ if (isInternal || resolution.type !== "sourceFile" || isReactNativeIndex) {
41
33
  return resolution;
42
34
  }
43
35
 
44
36
  if (moduleName === "react-native") {
45
37
  return resolver(context, `react-native-css/components`, platform);
46
- }
47
-
48
- if (moduleName === "react-native-safe-area-context") {
38
+ } else if (moduleName === "react-native-safe-area-context") {
49
39
  return resolver(
50
40
  context,
51
41
  `react-native-css/components/react-native-safe-area-context`,
52
42
  platform,
53
43
  );
44
+ } else if (
45
+ resolution.filePath.includes(`${sep}react-native${sep}Libraries${sep}`)
46
+ ) {
47
+ const filename = basename(resolution.filePath.split(sep).at(-1) ?? "");
48
+ const module = filename.split(".").at(0);
49
+
50
+ if (module && allowedModules.has(module)) {
51
+ return resolver(
52
+ context,
53
+ `react-native-css/components/${module}`,
54
+ platform,
55
+ );
56
+ }
54
57
  }
55
58
 
56
- // We only care about `react-native/Library/Components/<module>.js` components
57
- const segments = resolution.filePath.split(sep);
58
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
59
- const module = basename(segments.at(-1)!).split(".")[0];
60
-
61
- if (!module || !allowedModules.has(module)) {
62
- return resolution;
63
- }
64
-
65
- return resolver(context, `react-native-css/components/${module}`, platform);
59
+ return resolution;
66
60
  }
67
61
 
68
62
  export function webResolver(
@@ -1,4 +1,3 @@
1
- export * from "./metro";
2
-
3
1
  export * from "./api";
4
2
  export type * from "../runtime.types";
3
+ export * from "./react-native-css-metro-override";
@@ -129,7 +129,7 @@ export function applyDeclarations(
129
129
  const final = rest.pop();
130
130
 
131
131
  if (final) {
132
- if (first !== "*") {
132
+ if (first !== "&") {
133
133
  topLevelTarget[first] ??= {};
134
134
  target = topLevelTarget[first];
135
135
  }
@@ -38,7 +38,6 @@ export type StyleResolver = (
38
38
  const functionResolvers = {
39
39
  ...shorthands,
40
40
  ...functions,
41
- animationName: shorthands.animation,
42
41
  lineHeight,
43
42
  em,
44
43
  rem,
@@ -76,8 +76,6 @@ export const animation: StyleFunctionResolver = (
76
76
  return;
77
77
  }
78
78
 
79
- animationShortHandTuples.pop();
80
-
81
79
  const nameTuple = animationShortHandTuples.find(
82
80
  (tuple) => tuple[1] === "animationName",
83
81
  );
@@ -121,3 +119,13 @@ export const animation: StyleFunctionResolver = (
121
119
 
122
120
  return applyShorthand(animationShortHandTuples);
123
121
  };
122
+
123
+ export const animationName: StyleFunctionResolver = (
124
+ resolveValue,
125
+ value,
126
+ get,
127
+ options,
128
+ ) => {
129
+ const shorthand: any = animation(resolveValue, value, get, options);
130
+ return shorthand.animationName;
131
+ };
@@ -1 +0,0 @@
1
- {"version":3,"names":["canWarn","process","env","NODE_ENV","Error"],"sourceRoot":"../../src","sources":["poison.pill.ts"],"mappings":";;;;;AAAA,MAAMA,OAAO,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM;AAE/C,IAAIH,OAAO,EAAE;EACX,MAAM,IAAII,KAAK,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC;AACF","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=injection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["runtime/native/injection.ts"],"mappings":"","ignoreList":[]}
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- // This file will be overwritten by Metro
4
- export {};
5
- //# sourceMappingURL=metro.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["canWarn","process","env","NODE_ENV","Error"],"sourceRoot":"../../src","sources":["poison.pill.ts"],"mappings":";;AAAA,MAAMA,OAAO,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM;AAE/C,IAAIH,OAAO,EAAE;EACX,MAAM,IAAII,KAAK,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC;AACF;AAEA","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=injection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["runtime/native/injection.ts"],"mappings":"","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=metro.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metro.d.ts","sourceRoot":"","sources":["../../../../../src/native/metro.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=poison.pill.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poison.pill.d.ts","sourceRoot":"","sources":["../../../../src/poison.pill.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=injection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injection.d.ts","sourceRoot":"","sources":["../../../../../../src/runtime/native/injection.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=metro.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metro.d.ts","sourceRoot":"","sources":["../../../../../src/native/metro.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=poison.pill.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poison.pill.d.ts","sourceRoot":"","sources":["../../../../src/poison.pill.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=injection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injection.d.ts","sourceRoot":"","sources":["../../../../../../src/runtime/native/injection.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- export * from "react-native";
2
-
3
- export { ActivityIndicator } from "./ActivityIndicator";
4
- export { Button } from "./Button";
5
- export { FlatList } from "./FlatList";
6
- export { Image } from "./Image";
7
- export { Switch } from "./Switch";
8
- export { Text } from "./Text";
9
- export { TextInput } from "./TextInput";
10
- export { View } from "./View";
@@ -1,2 +0,0 @@
1
- // This file will be overwritten by Metro
2
- export {};
File without changes