yak-swc 9.9.0 → 9.10.0

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 (551) hide show
  1. package/.gitignore +3 -0
  2. package/CHANGELOG.md +345 -0
  3. package/Cargo.lock +3513 -0
  4. package/Cargo.toml +32 -0
  5. package/css_in_js_parser/CHANGELOG.md +10 -0
  6. package/css_in_js_parser/Cargo.toml +18 -0
  7. package/css_in_js_parser/LICENSE +21 -0
  8. package/css_in_js_parser/README.md +89 -0
  9. package/css_in_js_parser/examples/basic_usage.rs +18 -0
  10. package/css_in_js_parser/examples/resume_state.rs +51 -0
  11. package/css_in_js_parser/src/find_char.rs +148 -0
  12. package/css_in_js_parser/src/lib.rs +8 -0
  13. package/css_in_js_parser/src/parse_css.rs +541 -0
  14. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_complete_css_with_media_rule.snap +87 -0
  15. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_incomplete_css_1.snap +47 -0
  16. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_incomplete_css_1_ending_inside_a_comment.snap +31 -0
  17. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_incomplete_css_1_ending_inside_a_double_quote_string.snap +33 -0
  18. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_incomplete_css_1_ending_inside_a_string.snap +33 -0
  19. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_incomplete_css_1_ending_inside_parens_string.snap +31 -0
  20. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_incomplete_css_1_ending_outside_a_comment.snap +31 -0
  21. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_incomplete_css_1_with_media_rule.snap +78 -0
  22. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_incomplete_css_ending_without_semicolon.snap +27 -0
  23. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_resume_incomplete_css_ending_without_semicolon.snap +59 -0
  24. package/css_in_js_parser/src/snapshots/css_in_js_parser__parse_css__tests__parse_css_starting_with_an_invalid_curly.snap +27 -0
  25. package/css_in_js_parser/src/snapshots/css_in_js_parser__to_css__tests__handles_escapes_correctly.snap +8 -0
  26. package/css_in_js_parser/src/snapshots/css_in_js_parser__to_css__tests__parse_css_combine_two_independent_css_chunks.snap +11 -0
  27. package/css_in_js_parser/src/snapshots/css_in_js_parser__to_css__tests__parse_css_incomplete_css_1.snap +10 -0
  28. package/css_in_js_parser/src/snapshots/css_in_js_parser__to_css__tests__parse_css_merge_two_css_chunks.snap +12 -0
  29. package/css_in_js_parser/src/snapshots/css_in_js_parser__to_css__tests__parse_css_merge_two_css_chunks_and_inject_a_scope.snap +17 -0
  30. package/css_in_js_parser/src/to_css.rs +334 -0
  31. package/package.json +3 -3
  32. package/relative_posix_path/CHANGELOG.md +5 -0
  33. package/relative_posix_path/Cargo.toml +16 -0
  34. package/relative_posix_path/LICENSE +21 -0
  35. package/relative_posix_path/README.md +50 -0
  36. package/relative_posix_path/examples/posix_usage.rs +9 -0
  37. package/relative_posix_path/examples/windows_usage.rs +9 -0
  38. package/relative_posix_path/src/lib.rs +113 -0
  39. package/rust-toolchain.toml +9 -0
  40. package/rustfmt.toml +2 -0
  41. package/scripts/test-wasm-fixtures.mts +331 -0
  42. package/target/wasm32-wasip1/release/yak_swc.wasm +0 -0
  43. package/yak_swc/Cargo.toml +39 -0
  44. package/yak_swc/benches/extension_detection.rs +119 -0
  45. package/yak_swc/src/lib.rs +1786 -0
  46. package/yak_swc/src/math_evaluate.rs +368 -0
  47. package/yak_swc/src/naming_convention.rs +364 -0
  48. package/yak_swc/src/plugin.rs +43 -0
  49. package/yak_swc/src/utils/add_suffix_to_expr.rs +25 -0
  50. package/yak_swc/src/utils/ast_helper.rs +208 -0
  51. package/yak_swc/src/utils/cross_file_selectors.rs +265 -0
  52. package/yak_swc/src/utils/css_hash.rs +119 -0
  53. package/yak_swc/src/utils/css_variable_dedup.rs +297 -0
  54. package/yak_swc/src/utils/fold/css_expr.rs +288 -0
  55. package/yak_swc/src/utils/fold/css_prop.rs +464 -0
  56. package/yak_swc/src/utils/fold/mod.rs +539 -0
  57. package/yak_swc/src/utils/fold/purity.rs +399 -0
  58. package/yak_swc/src/utils/fold/usage.rs +1293 -0
  59. package/yak_swc/src/utils/native_elements.rs +145 -0
  60. package/yak_swc/src/variable_visitor.rs +602 -0
  61. package/yak_swc/src/yak_file.rs +215 -0
  62. package/yak_swc/src/yak_imports.rs +569 -0
  63. package/yak_swc/src/yak_transforms.rs +695 -0
  64. package/yak_swc/tests/fixture/attrs/input.tsx +15 -0
  65. package/yak_swc/tests/fixture/attrs/output.dev.tsx +22 -0
  66. package/yak_swc/tests/fixture/attrs/output.prod.tsx +20 -0
  67. package/yak_swc/tests/fixture/attrs/output.turbo.dev.tsx +22 -0
  68. package/yak_swc/tests/fixture/attrs/output.turbo.prod.tsx +20 -0
  69. package/yak_swc/tests/fixture/attrs-on-function-component/input.tsx +5 -0
  70. package/yak_swc/tests/fixture/attrs-on-function-component/output.dev.tsx +11 -0
  71. package/yak_swc/tests/fixture/attrs-on-function-component/output.prod.tsx +9 -0
  72. package/yak_swc/tests/fixture/attrs-on-function-component/output.turbo.dev.tsx +11 -0
  73. package/yak_swc/tests/fixture/attrs-on-function-component/output.turbo.prod.tsx +9 -0
  74. package/yak_swc/tests/fixture/basic-styled-component/input.tsx +15 -0
  75. package/yak_swc/tests/fixture/basic-styled-component/output.dev.tsx +20 -0
  76. package/yak_swc/tests/fixture/basic-styled-component/output.prod.tsx +18 -0
  77. package/yak_swc/tests/fixture/basic-styled-component/output.turbo.dev.tsx +20 -0
  78. package/yak_swc/tests/fixture/basic-styled-component/output.turbo.prod.tsx +18 -0
  79. package/yak_swc/tests/fixture/comments/input.tsx +11 -0
  80. package/yak_swc/tests/fixture/comments/output.dev.tsx +12 -0
  81. package/yak_swc/tests/fixture/comments/output.prod.tsx +10 -0
  82. package/yak_swc/tests/fixture/comments/output.turbo.dev.tsx +12 -0
  83. package/yak_swc/tests/fixture/comments/output.turbo.prod.tsx +10 -0
  84. package/yak_swc/tests/fixture/complex-nested-structure/input.tsx +62 -0
  85. package/yak_swc/tests/fixture/complex-nested-structure/output.dev.tsx +58 -0
  86. package/yak_swc/tests/fixture/complex-nested-structure/output.prod.tsx +56 -0
  87. package/yak_swc/tests/fixture/complex-nested-structure/output.turbo.dev.tsx +58 -0
  88. package/yak_swc/tests/fixture/complex-nested-structure/output.turbo.prod.tsx +56 -0
  89. package/yak_swc/tests/fixture/constants/input.tsx +37 -0
  90. package/yak_swc/tests/fixture/constants/output.dev.tsx +40 -0
  91. package/yak_swc/tests/fixture/constants/output.prod.tsx +38 -0
  92. package/yak_swc/tests/fixture/constants/output.turbo.dev.tsx +40 -0
  93. package/yak_swc/tests/fixture/constants/output.turbo.prod.tsx +38 -0
  94. package/yak_swc/tests/fixture/cross-file-constants/input.tsx +18 -0
  95. package/yak_swc/tests/fixture/cross-file-constants/output.dev.tsx +23 -0
  96. package/yak_swc/tests/fixture/cross-file-constants/output.prod.tsx +21 -0
  97. package/yak_swc/tests/fixture/cross-file-constants/output.turbo.dev.tsx +23 -0
  98. package/yak_swc/tests/fixture/cross-file-constants/output.turbo.prod.tsx +21 -0
  99. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/input.tsx +35 -0
  100. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.dev.stderr +11 -0
  101. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.dev.tsx +57 -0
  102. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.prod.stderr +11 -0
  103. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.prod.tsx +55 -0
  104. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.stderr +11 -0
  105. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.turbo.dev.stderr +11 -0
  106. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.turbo.dev.tsx +57 -0
  107. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.turbo.prod.stderr +11 -0
  108. package/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.turbo.prod.tsx +55 -0
  109. package/yak_swc/tests/fixture/cross-file-mixin-export/input.tsx +46 -0
  110. package/yak_swc/tests/fixture/cross-file-mixin-export/output.dev.tsx +50 -0
  111. package/yak_swc/tests/fixture/cross-file-mixin-export/output.prod.tsx +48 -0
  112. package/yak_swc/tests/fixture/cross-file-mixin-export/output.turbo.dev.tsx +50 -0
  113. package/yak_swc/tests/fixture/cross-file-mixin-export/output.turbo.prod.tsx +48 -0
  114. package/yak_swc/tests/fixture/cross-file-mixin-import/input.tsx +48 -0
  115. package/yak_swc/tests/fixture/cross-file-mixin-import/output.dev.tsx +73 -0
  116. package/yak_swc/tests/fixture/cross-file-mixin-import/output.prod.tsx +59 -0
  117. package/yak_swc/tests/fixture/cross-file-mixin-import/output.turbo.dev.tsx +73 -0
  118. package/yak_swc/tests/fixture/cross-file-mixin-import/output.turbo.prod.tsx +59 -0
  119. package/yak_swc/tests/fixture/cross-file-selectors/input.tsx +16 -0
  120. package/yak_swc/tests/fixture/cross-file-selectors/output.dev.tsx +20 -0
  121. package/yak_swc/tests/fixture/cross-file-selectors/output.prod.tsx +18 -0
  122. package/yak_swc/tests/fixture/cross-file-selectors/output.turbo.dev.tsx +20 -0
  123. package/yak_swc/tests/fixture/cross-file-selectors/output.turbo.prod.tsx +18 -0
  124. package/yak_swc/tests/fixture/css-grid-layout/input.tsx +65 -0
  125. package/yak_swc/tests/fixture/css-grid-layout/output.dev.tsx +62 -0
  126. package/yak_swc/tests/fixture/css-grid-layout/output.prod.tsx +60 -0
  127. package/yak_swc/tests/fixture/css-grid-layout/output.turbo.dev.tsx +62 -0
  128. package/yak_swc/tests/fixture/css-grid-layout/output.turbo.prod.tsx +60 -0
  129. package/yak_swc/tests/fixture/css-import-order/input.tsx +12 -0
  130. package/yak_swc/tests/fixture/css-import-order/output.dev.tsx +16 -0
  131. package/yak_swc/tests/fixture/css-import-order/output.prod.tsx +14 -0
  132. package/yak_swc/tests/fixture/css-import-order/output.turbo.dev.tsx +16 -0
  133. package/yak_swc/tests/fixture/css-import-order/output.turbo.prod.tsx +14 -0
  134. package/yak_swc/tests/fixture/css-mixin/input.tsx +27 -0
  135. package/yak_swc/tests/fixture/css-mixin/output.dev.tsx +75 -0
  136. package/yak_swc/tests/fixture/css-mixin/output.prod.tsx +71 -0
  137. package/yak_swc/tests/fixture/css-mixin/output.turbo.dev.tsx +75 -0
  138. package/yak_swc/tests/fixture/css-mixin/output.turbo.prod.tsx +71 -0
  139. package/yak_swc/tests/fixture/css-mixin-inline/input.tsx +14 -0
  140. package/yak_swc/tests/fixture/css-mixin-inline/output.dev.tsx +17 -0
  141. package/yak_swc/tests/fixture/css-mixin-inline/output.prod.tsx +15 -0
  142. package/yak_swc/tests/fixture/css-mixin-inline/output.turbo.dev.tsx +17 -0
  143. package/yak_swc/tests/fixture/css-mixin-inline/output.turbo.prod.tsx +15 -0
  144. package/yak_swc/tests/fixture/css-mixin-nested/input.tsx +26 -0
  145. package/yak_swc/tests/fixture/css-mixin-nested/output.dev.tsx +73 -0
  146. package/yak_swc/tests/fixture/css-mixin-nested/output.prod.tsx +69 -0
  147. package/yak_swc/tests/fixture/css-mixin-nested/output.turbo.dev.tsx +73 -0
  148. package/yak_swc/tests/fixture/css-mixin-nested/output.turbo.prod.tsx +69 -0
  149. package/yak_swc/tests/fixture/css-mixin-yak-file/input.yak.tsx +40 -0
  150. package/yak_swc/tests/fixture/css-mixin-yak-file/output.yak.tsx +50 -0
  151. package/yak_swc/tests/fixture/css-mixin-yak-file-error/input.yak.tsx +40 -0
  152. package/yak_swc/tests/fixture/css-mixin-yak-file-error/output.yak.stderr +7 -0
  153. package/yak_swc/tests/fixture/css-mixin-yak-file-error/output.yak.tsx +50 -0
  154. package/yak_swc/tests/fixture/css-prop/input.tsx +155 -0
  155. package/yak_swc/tests/fixture/css-prop/output.dev.tsx +117 -0
  156. package/yak_swc/tests/fixture/css-prop/output.prod.tsx +115 -0
  157. package/yak_swc/tests/fixture/css-prop/output.turbo.dev.tsx +117 -0
  158. package/yak_swc/tests/fixture/css-prop/output.turbo.prod.tsx +115 -0
  159. package/yak_swc/tests/fixture/css-prop-conditional/input.tsx +207 -0
  160. package/yak_swc/tests/fixture/css-prop-conditional/output.dev.tsx +169 -0
  161. package/yak_swc/tests/fixture/css-prop-conditional/output.prod.tsx +169 -0
  162. package/yak_swc/tests/fixture/css-prop-conditional/output.turbo.dev.tsx +169 -0
  163. package/yak_swc/tests/fixture/css-prop-conditional/output.turbo.prod.tsx +169 -0
  164. package/yak_swc/tests/fixture/css-prop-fold-bailouts/config.json +3 -0
  165. package/yak_swc/tests/fixture/css-prop-fold-bailouts/input.tsx +67 -0
  166. package/yak_swc/tests/fixture/css-prop-fold-bailouts/output.dev.tsx +54 -0
  167. package/yak_swc/tests/fixture/css-prop-fold-bailouts/output.prod.tsx +54 -0
  168. package/yak_swc/tests/fixture/css-prop-fold-bailouts/output.turbo.dev.tsx +54 -0
  169. package/yak_swc/tests/fixture/css-prop-fold-bailouts/output.turbo.prod.tsx +54 -0
  170. package/yak_swc/tests/fixture/css-prop-folding-tricky/config.json +3 -0
  171. package/yak_swc/tests/fixture/css-prop-folding-tricky/input.tsx +97 -0
  172. package/yak_swc/tests/fixture/css-prop-folding-tricky/output.dev.tsx +80 -0
  173. package/yak_swc/tests/fixture/css-prop-folding-tricky/output.prod.tsx +80 -0
  174. package/yak_swc/tests/fixture/css-prop-folding-tricky/output.turbo.dev.tsx +80 -0
  175. package/yak_swc/tests/fixture/css-prop-folding-tricky/output.turbo.prod.tsx +80 -0
  176. package/yak_swc/tests/fixture/css-prop-in-exported-component/input.tsx +12 -0
  177. package/yak_swc/tests/fixture/css-prop-in-exported-component/output.dev.tsx +10 -0
  178. package/yak_swc/tests/fixture/css-prop-in-exported-component/output.prod.tsx +10 -0
  179. package/yak_swc/tests/fixture/css-prop-in-exported-component/output.turbo.dev.tsx +10 -0
  180. package/yak_swc/tests/fixture/css-prop-in-exported-component/output.turbo.prod.tsx +10 -0
  181. package/yak_swc/tests/fixture/css-prop-invalid/input.tsx +5 -0
  182. package/yak_swc/tests/fixture/css-prop-invalid/output.dev.stderr +14 -0
  183. package/yak_swc/tests/fixture/css-prop-invalid/output.dev.tsx +4 -0
  184. package/yak_swc/tests/fixture/css-prop-invalid/output.prod.stderr +14 -0
  185. package/yak_swc/tests/fixture/css-prop-invalid/output.prod.tsx +4 -0
  186. package/yak_swc/tests/fixture/css-prop-invalid/output.turbo.dev.stderr +14 -0
  187. package/yak_swc/tests/fixture/css-prop-invalid/output.turbo.dev.tsx +4 -0
  188. package/yak_swc/tests/fixture/css-prop-invalid/output.turbo.prod.stderr +14 -0
  189. package/yak_swc/tests/fixture/css-prop-invalid/output.turbo.prod.tsx +4 -0
  190. package/yak_swc/tests/fixture/css-prop-invalid-values/input.tsx +28 -0
  191. package/yak_swc/tests/fixture/css-prop-invalid-values/output.dev.stderr +75 -0
  192. package/yak_swc/tests/fixture/css-prop-invalid-values/output.dev.tsx +26 -0
  193. package/yak_swc/tests/fixture/css-prop-invalid-values/output.prod.stderr +75 -0
  194. package/yak_swc/tests/fixture/css-prop-invalid-values/output.prod.tsx +26 -0
  195. package/yak_swc/tests/fixture/css-prop-invalid-values/output.turbo.dev.stderr +75 -0
  196. package/yak_swc/tests/fixture/css-prop-invalid-values/output.turbo.dev.tsx +26 -0
  197. package/yak_swc/tests/fixture/css-prop-invalid-values/output.turbo.prod.stderr +75 -0
  198. package/yak_swc/tests/fixture/css-prop-invalid-values/output.turbo.prod.tsx +26 -0
  199. package/yak_swc/tests/fixture/css-prop-nested/input.tsx +22 -0
  200. package/yak_swc/tests/fixture/css-prop-nested/output.dev.tsx +22 -0
  201. package/yak_swc/tests/fixture/css-prop-nested/output.prod.tsx +22 -0
  202. package/yak_swc/tests/fixture/css-prop-nested/output.turbo.dev.tsx +22 -0
  203. package/yak_swc/tests/fixture/css-prop-nested/output.turbo.prod.tsx +22 -0
  204. package/yak_swc/tests/fixture/css-prop-non-strict/config.json +3 -0
  205. package/yak_swc/tests/fixture/css-prop-non-strict/input.tsx +28 -0
  206. package/yak_swc/tests/fixture/css-prop-non-strict/output.dev.tsx +33 -0
  207. package/yak_swc/tests/fixture/css-prop-non-strict/output.prod.tsx +33 -0
  208. package/yak_swc/tests/fixture/css-prop-non-strict/output.turbo.dev.tsx +33 -0
  209. package/yak_swc/tests/fixture/css-prop-non-strict/output.turbo.prod.tsx +33 -0
  210. package/yak_swc/tests/fixture/css-prop-style-reference/input.tsx +38 -0
  211. package/yak_swc/tests/fixture/css-prop-style-reference/output.dev.stderr +36 -0
  212. package/yak_swc/tests/fixture/css-prop-style-reference/output.dev.tsx +29 -0
  213. package/yak_swc/tests/fixture/css-prop-style-reference/output.prod.stderr +36 -0
  214. package/yak_swc/tests/fixture/css-prop-style-reference/output.prod.tsx +29 -0
  215. package/yak_swc/tests/fixture/css-prop-style-reference/output.turbo.dev.stderr +36 -0
  216. package/yak_swc/tests/fixture/css-prop-style-reference/output.turbo.dev.tsx +29 -0
  217. package/yak_swc/tests/fixture/css-prop-style-reference/output.turbo.prod.stderr +36 -0
  218. package/yak_swc/tests/fixture/css-prop-style-reference/output.turbo.prod.tsx +29 -0
  219. package/yak_swc/tests/fixture/css-prop-ternary/config.json +3 -0
  220. package/yak_swc/tests/fixture/css-prop-ternary/input.tsx +95 -0
  221. package/yak_swc/tests/fixture/css-prop-ternary/output.dev.tsx +81 -0
  222. package/yak_swc/tests/fixture/css-prop-ternary/output.prod.tsx +81 -0
  223. package/yak_swc/tests/fixture/css-prop-ternary/output.turbo.dev.tsx +81 -0
  224. package/yak_swc/tests/fixture/css-prop-ternary/output.turbo.prod.tsx +81 -0
  225. package/yak_swc/tests/fixture/css-prop-with-atoms/input.tsx +45 -0
  226. package/yak_swc/tests/fixture/css-prop-with-atoms/output.dev.tsx +42 -0
  227. package/yak_swc/tests/fixture/css-prop-with-atoms/output.prod.tsx +40 -0
  228. package/yak_swc/tests/fixture/css-prop-with-atoms/output.turbo.dev.tsx +42 -0
  229. package/yak_swc/tests/fixture/css-prop-with-atoms/output.turbo.prod.tsx +40 -0
  230. package/yak_swc/tests/fixture/css-prop-with-atoms-simple/input.tsx +3 -0
  231. package/yak_swc/tests/fixture/css-prop-with-atoms-simple/output.dev.tsx +2 -0
  232. package/yak_swc/tests/fixture/css-prop-with-atoms-simple/output.prod.tsx +2 -0
  233. package/yak_swc/tests/fixture/css-prop-with-atoms-simple/output.turbo.dev.tsx +2 -0
  234. package/yak_swc/tests/fixture/css-prop-with-atoms-simple/output.turbo.prod.tsx +2 -0
  235. package/yak_swc/tests/fixture/css-variables/input.tsx +21 -0
  236. package/yak_swc/tests/fixture/css-variables/output.dev.tsx +28 -0
  237. package/yak_swc/tests/fixture/css-variables/output.prod.tsx +24 -0
  238. package/yak_swc/tests/fixture/css-variables/output.turbo.dev.tsx +28 -0
  239. package/yak_swc/tests/fixture/css-variables/output.turbo.prod.tsx +24 -0
  240. package/yak_swc/tests/fixture/default-export-hoisted/input.tsx +8 -0
  241. package/yak_swc/tests/fixture/default-export-hoisted/output.dev.tsx +12 -0
  242. package/yak_swc/tests/fixture/default-export-hoisted/output.prod.tsx +10 -0
  243. package/yak_swc/tests/fixture/default-export-hoisted/output.turbo.dev.tsx +12 -0
  244. package/yak_swc/tests/fixture/default-export-hoisted/output.turbo.prod.tsx +10 -0
  245. package/yak_swc/tests/fixture/default-export-inline/input.tsx +6 -0
  246. package/yak_swc/tests/fixture/default-export-inline/output.dev.tsx +11 -0
  247. package/yak_swc/tests/fixture/default-export-inline/output.prod.tsx +9 -0
  248. package/yak_swc/tests/fixture/default-export-inline/output.turbo.dev.tsx +11 -0
  249. package/yak_swc/tests/fixture/default-export-inline/output.turbo.prod.tsx +9 -0
  250. package/yak_swc/tests/fixture/default-export-mixed/input.tsx +19 -0
  251. package/yak_swc/tests/fixture/default-export-mixed/output.dev.tsx +33 -0
  252. package/yak_swc/tests/fixture/default-export-mixed/output.prod.tsx +27 -0
  253. package/yak_swc/tests/fixture/default-export-mixed/output.turbo.dev.tsx +33 -0
  254. package/yak_swc/tests/fixture/default-export-mixed/output.turbo.prod.tsx +27 -0
  255. package/yak_swc/tests/fixture/default-export-mixin/input.tsx +11 -0
  256. package/yak_swc/tests/fixture/default-export-mixin/output.dev.tsx +14 -0
  257. package/yak_swc/tests/fixture/default-export-mixin/output.prod.tsx +14 -0
  258. package/yak_swc/tests/fixture/default-export-mixin/output.turbo.dev.tsx +14 -0
  259. package/yak_swc/tests/fixture/default-export-mixin/output.turbo.prod.tsx +14 -0
  260. package/yak_swc/tests/fixture/default-export-mixin-inline/input.tsx +9 -0
  261. package/yak_swc/tests/fixture/default-export-mixin-inline/output.dev.tsx +8 -0
  262. package/yak_swc/tests/fixture/default-export-mixin-inline/output.prod.tsx +8 -0
  263. package/yak_swc/tests/fixture/default-export-mixin-inline/output.turbo.dev.tsx +8 -0
  264. package/yak_swc/tests/fixture/default-export-mixin-inline/output.turbo.prod.tsx +8 -0
  265. package/yak_swc/tests/fixture/default-export-nested/input.tsx +8 -0
  266. package/yak_swc/tests/fixture/default-export-nested/output.dev.tsx +13 -0
  267. package/yak_swc/tests/fixture/default-export-nested/output.prod.tsx +11 -0
  268. package/yak_swc/tests/fixture/default-export-nested/output.turbo.dev.tsx +13 -0
  269. package/yak_swc/tests/fixture/default-export-nested/output.turbo.prod.tsx +11 -0
  270. package/yak_swc/tests/fixture/default-export-with-cross-file-reference/input.tsx +14 -0
  271. package/yak_swc/tests/fixture/default-export-with-cross-file-reference/output.dev.tsx +26 -0
  272. package/yak_swc/tests/fixture/default-export-with-cross-file-reference/output.prod.tsx +24 -0
  273. package/yak_swc/tests/fixture/default-export-with-cross-file-reference/output.turbo.dev.tsx +26 -0
  274. package/yak_swc/tests/fixture/default-export-with-cross-file-reference/output.turbo.prod.tsx +24 -0
  275. package/yak_swc/tests/fixture/duplicate-expressions/input.tsx +74 -0
  276. package/yak_swc/tests/fixture/duplicate-expressions/output.dev.tsx +146 -0
  277. package/yak_swc/tests/fixture/duplicate-expressions/output.prod.tsx +126 -0
  278. package/yak_swc/tests/fixture/duplicate-expressions/output.turbo.dev.tsx +146 -0
  279. package/yak_swc/tests/fixture/duplicate-expressions/output.turbo.prod.tsx +126 -0
  280. package/yak_swc/tests/fixture/dynamic-at-rule-error/input.tsx +11 -0
  281. package/yak_swc/tests/fixture/dynamic-at-rule-error/output.dev.stderr +12 -0
  282. package/yak_swc/tests/fixture/dynamic-at-rule-error/output.dev.tsx +15 -0
  283. package/yak_swc/tests/fixture/dynamic-at-rule-error/output.prod.stderr +12 -0
  284. package/yak_swc/tests/fixture/dynamic-at-rule-error/output.prod.tsx +13 -0
  285. package/yak_swc/tests/fixture/dynamic-at-rule-error/output.turbo.dev.stderr +12 -0
  286. package/yak_swc/tests/fixture/dynamic-at-rule-error/output.turbo.dev.tsx +15 -0
  287. package/yak_swc/tests/fixture/dynamic-at-rule-error/output.turbo.prod.stderr +12 -0
  288. package/yak_swc/tests/fixture/dynamic-at-rule-error/output.turbo.prod.tsx +13 -0
  289. package/yak_swc/tests/fixture/dynamic-prop-error/input.tsx +7 -0
  290. package/yak_swc/tests/fixture/dynamic-prop-error/output.dev.stderr +16 -0
  291. package/yak_swc/tests/fixture/dynamic-prop-error/output.dev.tsx +17 -0
  292. package/yak_swc/tests/fixture/dynamic-prop-error/output.prod.stderr +16 -0
  293. package/yak_swc/tests/fixture/dynamic-prop-error/output.prod.tsx +15 -0
  294. package/yak_swc/tests/fixture/dynamic-prop-error/output.turbo.dev.stderr +16 -0
  295. package/yak_swc/tests/fixture/dynamic-prop-error/output.turbo.dev.tsx +17 -0
  296. package/yak_swc/tests/fixture/dynamic-prop-error/output.turbo.prod.stderr +16 -0
  297. package/yak_swc/tests/fixture/dynamic-prop-error/output.turbo.prod.tsx +15 -0
  298. package/yak_swc/tests/fixture/dynamic-string-content/input.tsx +28 -0
  299. package/yak_swc/tests/fixture/dynamic-string-content/output.dev.tsx +52 -0
  300. package/yak_swc/tests/fixture/dynamic-string-content/output.prod.tsx +46 -0
  301. package/yak_swc/tests/fixture/dynamic-string-content/output.turbo.dev.tsx +52 -0
  302. package/yak_swc/tests/fixture/dynamic-string-content/output.turbo.prod.tsx +46 -0
  303. package/yak_swc/tests/fixture/emit-css-comments-off/config.json +3 -0
  304. package/yak_swc/tests/fixture/emit-css-comments-off/input.tsx +16 -0
  305. package/yak_swc/tests/fixture/emit-css-comments-off/output.dev.tsx +12 -0
  306. package/yak_swc/tests/fixture/emit-css-comments-off/output.prod.tsx +8 -0
  307. package/yak_swc/tests/fixture/emit-css-comments-off/output.turbo.dev.tsx +12 -0
  308. package/yak_swc/tests/fixture/emit-css-comments-off/output.turbo.prod.tsx +8 -0
  309. package/yak_swc/tests/fixture/empty-styled-as-selector/input.tsx +11 -0
  310. package/yak_swc/tests/fixture/empty-styled-as-selector/output.dev.tsx +17 -0
  311. package/yak_swc/tests/fixture/empty-styled-as-selector/output.prod.tsx +13 -0
  312. package/yak_swc/tests/fixture/empty-styled-as-selector/output.turbo.dev.tsx +17 -0
  313. package/yak_swc/tests/fixture/empty-styled-as-selector/output.turbo.prod.tsx +13 -0
  314. package/yak_swc/tests/fixture/empty-styled-component/input.tsx +3 -0
  315. package/yak_swc/tests/fixture/empty-styled-component/output.dev.tsx +5 -0
  316. package/yak_swc/tests/fixture/empty-styled-component/output.prod.tsx +3 -0
  317. package/yak_swc/tests/fixture/empty-styled-component/output.turbo.dev.tsx +5 -0
  318. package/yak_swc/tests/fixture/empty-styled-component/output.turbo.prod.tsx +3 -0
  319. package/yak_swc/tests/fixture/encoded/input.tsx +13 -0
  320. package/yak_swc/tests/fixture/encoded/output.dev.tsx +17 -0
  321. package/yak_swc/tests/fixture/encoded/output.prod.tsx +15 -0
  322. package/yak_swc/tests/fixture/encoded/output.turbo.dev.tsx +17 -0
  323. package/yak_swc/tests/fixture/encoded/output.turbo.prod.tsx +15 -0
  324. package/yak_swc/tests/fixture/extending-styles/input.tsx +25 -0
  325. package/yak_swc/tests/fixture/extending-styles/output.dev.tsx +36 -0
  326. package/yak_swc/tests/fixture/extending-styles/output.prod.tsx +30 -0
  327. package/yak_swc/tests/fixture/extending-styles/output.turbo.dev.tsx +36 -0
  328. package/yak_swc/tests/fixture/extending-styles/output.turbo.prod.tsx +30 -0
  329. package/yak_swc/tests/fixture/function-on-component/input.tsx +5 -0
  330. package/yak_swc/tests/fixture/function-on-component/output.dev.tsx +12 -0
  331. package/yak_swc/tests/fixture/function-on-component/output.prod.tsx +10 -0
  332. package/yak_swc/tests/fixture/function-on-component/output.turbo.dev.tsx +12 -0
  333. package/yak_swc/tests/fixture/function-on-component/output.turbo.prod.tsx +10 -0
  334. package/yak_swc/tests/fixture/global-style/error-dynamic-value/input.tsx +7 -0
  335. package/yak_swc/tests/fixture/global-style/error-dynamic-value/output.dev.stderr +12 -0
  336. package/yak_swc/tests/fixture/global-style/error-dynamic-value/output.dev.tsx +2 -0
  337. package/yak_swc/tests/fixture/global-style/error-dynamic-value/output.prod.stderr +12 -0
  338. package/yak_swc/tests/fixture/global-style/error-dynamic-value/output.prod.tsx +2 -0
  339. package/yak_swc/tests/fixture/global-style/error-dynamic-value/output.turbo.dev.stderr +12 -0
  340. package/yak_swc/tests/fixture/global-style/error-dynamic-value/output.turbo.dev.tsx +2 -0
  341. package/yak_swc/tests/fixture/global-style/error-dynamic-value/output.turbo.prod.stderr +12 -0
  342. package/yak_swc/tests/fixture/global-style/error-dynamic-value/output.turbo.prod.tsx +2 -0
  343. package/yak_swc/tests/fixture/global-style/error-nested/input.tsx +10 -0
  344. package/yak_swc/tests/fixture/global-style/error-nested/output.dev.stderr +10 -0
  345. package/yak_swc/tests/fixture/global-style/error-nested/output.dev.tsx +9 -0
  346. package/yak_swc/tests/fixture/global-style/error-nested/output.prod.stderr +10 -0
  347. package/yak_swc/tests/fixture/global-style/error-nested/output.prod.tsx +9 -0
  348. package/yak_swc/tests/fixture/global-style/error-nested/output.turbo.dev.stderr +10 -0
  349. package/yak_swc/tests/fixture/global-style/error-nested/output.turbo.dev.tsx +9 -0
  350. package/yak_swc/tests/fixture/global-style/error-nested/output.turbo.prod.stderr +10 -0
  351. package/yak_swc/tests/fixture/global-style/error-nested/output.turbo.prod.tsx +9 -0
  352. package/yak_swc/tests/fixture/global-style/only-global/input.tsx +9 -0
  353. package/yak_swc/tests/fixture/global-style/only-global/output.dev.tsx +9 -0
  354. package/yak_swc/tests/fixture/global-style/only-global/output.prod.tsx +9 -0
  355. package/yak_swc/tests/fixture/global-style/only-global/output.turbo.dev.tsx +9 -0
  356. package/yak_swc/tests/fixture/global-style/only-global/output.turbo.prod.tsx +9 -0
  357. package/yak_swc/tests/fixture/global-style/static/input.tsx +25 -0
  358. package/yak_swc/tests/fixture/global-style/static/output.dev.tsx +21 -0
  359. package/yak_swc/tests/fixture/global-style/static/output.prod.tsx +21 -0
  360. package/yak_swc/tests/fixture/global-style/static/output.turbo.dev.tsx +21 -0
  361. package/yak_swc/tests/fixture/global-style/static/output.turbo.prod.tsx +21 -0
  362. package/yak_swc/tests/fixture/global-style/with-authored-layer/input.tsx +15 -0
  363. package/yak_swc/tests/fixture/global-style/with-authored-layer/output.dev.tsx +14 -0
  364. package/yak_swc/tests/fixture/global-style/with-authored-layer/output.prod.tsx +14 -0
  365. package/yak_swc/tests/fixture/global-style/with-authored-layer/output.turbo.dev.tsx +14 -0
  366. package/yak_swc/tests/fixture/global-style/with-authored-layer/output.turbo.prod.tsx +14 -0
  367. package/yak_swc/tests/fixture/global-style/with-class-selector/input.tsx +11 -0
  368. package/yak_swc/tests/fixture/global-style/with-class-selector/output.dev.tsx +11 -0
  369. package/yak_swc/tests/fixture/global-style/with-class-selector/output.prod.tsx +11 -0
  370. package/yak_swc/tests/fixture/global-style/with-class-selector/output.turbo.dev.tsx +11 -0
  371. package/yak_swc/tests/fixture/global-style/with-class-selector/output.turbo.prod.tsx +11 -0
  372. package/yak_swc/tests/fixture/global-style/with-component-selector/input.tsx +11 -0
  373. package/yak_swc/tests/fixture/global-style/with-component-selector/output.dev.tsx +15 -0
  374. package/yak_swc/tests/fixture/global-style/with-component-selector/output.prod.tsx +13 -0
  375. package/yak_swc/tests/fixture/global-style/with-component-selector/output.turbo.dev.tsx +15 -0
  376. package/yak_swc/tests/fixture/global-style/with-component-selector/output.turbo.prod.tsx +13 -0
  377. package/yak_swc/tests/fixture/global-style/with-constants/input.tsx +20 -0
  378. package/yak_swc/tests/fixture/global-style/with-constants/output.dev.tsx +15 -0
  379. package/yak_swc/tests/fixture/global-style/with-constants/output.prod.tsx +15 -0
  380. package/yak_swc/tests/fixture/global-style/with-constants/output.turbo.dev.tsx +15 -0
  381. package/yak_swc/tests/fixture/global-style/with-constants/output.turbo.prod.tsx +15 -0
  382. package/yak_swc/tests/fixture/global-style/with-font-face/input.tsx +19 -0
  383. package/yak_swc/tests/fixture/global-style/with-font-face/output.dev.tsx +18 -0
  384. package/yak_swc/tests/fixture/global-style/with-font-face/output.prod.tsx +18 -0
  385. package/yak_swc/tests/fixture/global-style/with-font-face/output.turbo.dev.tsx +18 -0
  386. package/yak_swc/tests/fixture/global-style/with-font-face/output.turbo.prod.tsx +18 -0
  387. package/yak_swc/tests/fixture/global-style/with-keyframes/input.tsx +16 -0
  388. package/yak_swc/tests/fixture/global-style/with-keyframes/output.dev.tsx +17 -0
  389. package/yak_swc/tests/fixture/global-style/with-keyframes/output.prod.tsx +17 -0
  390. package/yak_swc/tests/fixture/global-style/with-keyframes/output.turbo.dev.tsx +17 -0
  391. package/yak_swc/tests/fixture/global-style/with-keyframes/output.turbo.prod.tsx +17 -0
  392. package/yak_swc/tests/fixture/keyframe-animations/input.tsx +16 -0
  393. package/yak_swc/tests/fixture/keyframe-animations/output.dev.tsx +22 -0
  394. package/yak_swc/tests/fixture/keyframe-animations/output.prod.tsx +20 -0
  395. package/yak_swc/tests/fixture/keyframe-animations/output.turbo.dev.tsx +22 -0
  396. package/yak_swc/tests/fixture/keyframe-animations/output.turbo.prod.tsx +20 -0
  397. package/yak_swc/tests/fixture/keyframe-animations-function/input.tsx +30 -0
  398. package/yak_swc/tests/fixture/keyframe-animations-function/output.dev.tsx +37 -0
  399. package/yak_swc/tests/fixture/keyframe-animations-function/output.prod.tsx +35 -0
  400. package/yak_swc/tests/fixture/keyframe-animations-function/output.turbo.dev.tsx +37 -0
  401. package/yak_swc/tests/fixture/keyframe-animations-function/output.turbo.prod.tsx +35 -0
  402. package/yak_swc/tests/fixture/keyframe-animations-object/input.tsx +58 -0
  403. package/yak_swc/tests/fixture/keyframe-animations-object/output.dev.tsx +69 -0
  404. package/yak_swc/tests/fixture/keyframe-animations-object/output.prod.tsx +65 -0
  405. package/yak_swc/tests/fixture/keyframe-animations-object/output.turbo.dev.tsx +69 -0
  406. package/yak_swc/tests/fixture/keyframe-animations-object/output.turbo.prod.tsx +65 -0
  407. package/yak_swc/tests/fixture/keyframes-nested-error/input.tsx +12 -0
  408. package/yak_swc/tests/fixture/keyframes-nested-error/output.dev.stderr +13 -0
  409. package/yak_swc/tests/fixture/keyframes-nested-error/output.dev.tsx +7 -0
  410. package/yak_swc/tests/fixture/keyframes-nested-error/output.prod.stderr +13 -0
  411. package/yak_swc/tests/fixture/keyframes-nested-error/output.prod.tsx +5 -0
  412. package/yak_swc/tests/fixture/keyframes-nested-error/output.stderr +13 -0
  413. package/yak_swc/tests/fixture/keyframes-nested-error/output.turbo.dev.stderr +13 -0
  414. package/yak_swc/tests/fixture/keyframes-nested-error/output.turbo.dev.tsx +7 -0
  415. package/yak_swc/tests/fixture/keyframes-nested-error/output.turbo.prod.stderr +13 -0
  416. package/yak_swc/tests/fixture/keyframes-nested-error/output.turbo.prod.tsx +5 -0
  417. package/yak_swc/tests/fixture/media-queries/input.tsx +16 -0
  418. package/yak_swc/tests/fixture/media-queries/output.dev.tsx +19 -0
  419. package/yak_swc/tests/fixture/media-queries/output.prod.tsx +17 -0
  420. package/yak_swc/tests/fixture/media-queries/output.turbo.dev.tsx +19 -0
  421. package/yak_swc/tests/fixture/media-queries/output.turbo.prod.tsx +17 -0
  422. package/yak_swc/tests/fixture/member-property-runtime-values/input.tsx +18 -0
  423. package/yak_swc/tests/fixture/member-property-runtime-values/output.dev.tsx +40 -0
  424. package/yak_swc/tests/fixture/member-property-runtime-values/output.prod.tsx +36 -0
  425. package/yak_swc/tests/fixture/member-property-runtime-values/output.turbo.dev.tsx +40 -0
  426. package/yak_swc/tests/fixture/member-property-runtime-values/output.turbo.prod.tsx +36 -0
  427. package/yak_swc/tests/fixture/mixing-with-tailwind/input.tsx +5 -0
  428. package/yak_swc/tests/fixture/mixing-with-tailwind/output.dev.tsx +7 -0
  429. package/yak_swc/tests/fixture/mixing-with-tailwind/output.prod.tsx +5 -0
  430. package/yak_swc/tests/fixture/mixing-with-tailwind/output.turbo.dev.tsx +7 -0
  431. package/yak_swc/tests/fixture/mixing-with-tailwind/output.turbo.prod.tsx +5 -0
  432. package/yak_swc/tests/fixture/mixing-with-tailwind-error/input.tsx +8 -0
  433. package/yak_swc/tests/fixture/mixing-with-tailwind-error/output.dev.stderr +7 -0
  434. package/yak_swc/tests/fixture/mixing-with-tailwind-error/output.dev.tsx +7 -0
  435. package/yak_swc/tests/fixture/mixing-with-tailwind-error/output.prod.stderr +7 -0
  436. package/yak_swc/tests/fixture/mixing-with-tailwind-error/output.prod.tsx +5 -0
  437. package/yak_swc/tests/fixture/mixing-with-tailwind-error/output.stderr +7 -0
  438. package/yak_swc/tests/fixture/mixing-with-tailwind-error/output.turbo.dev.stderr +7 -0
  439. package/yak_swc/tests/fixture/mixing-with-tailwind-error/output.turbo.dev.tsx +7 -0
  440. package/yak_swc/tests/fixture/mixing-with-tailwind-error/output.turbo.prod.stderr +7 -0
  441. package/yak_swc/tests/fixture/mixing-with-tailwind-error/output.turbo.prod.tsx +5 -0
  442. package/yak_swc/tests/fixture/multiple-styled-components/input.tsx +18 -0
  443. package/yak_swc/tests/fixture/multiple-styled-components/output.dev.tsx +31 -0
  444. package/yak_swc/tests/fixture/multiple-styled-components/output.prod.tsx +23 -0
  445. package/yak_swc/tests/fixture/multiple-styled-components/output.turbo.dev.tsx +31 -0
  446. package/yak_swc/tests/fixture/multiple-styled-components/output.turbo.prod.tsx +23 -0
  447. package/yak_swc/tests/fixture/nested-dynamic-mixin/input.tsx +21 -0
  448. package/yak_swc/tests/fixture/nested-dynamic-mixin/output.dev.stderr +11 -0
  449. package/yak_swc/tests/fixture/nested-dynamic-mixin/output.dev.tsx +28 -0
  450. package/yak_swc/tests/fixture/nested-dynamic-mixin/output.prod.stderr +11 -0
  451. package/yak_swc/tests/fixture/nested-dynamic-mixin/output.prod.tsx +26 -0
  452. package/yak_swc/tests/fixture/nested-dynamic-mixin/output.turbo.dev.stderr +11 -0
  453. package/yak_swc/tests/fixture/nested-dynamic-mixin/output.turbo.dev.tsx +28 -0
  454. package/yak_swc/tests/fixture/nested-dynamic-mixin/output.turbo.prod.stderr +11 -0
  455. package/yak_swc/tests/fixture/nested-dynamic-mixin/output.turbo.prod.tsx +26 -0
  456. package/yak_swc/tests/fixture/nested-selectors/input.tsx +34 -0
  457. package/yak_swc/tests/fixture/nested-selectors/output.dev.tsx +35 -0
  458. package/yak_swc/tests/fixture/nested-selectors/output.prod.tsx +33 -0
  459. package/yak_swc/tests/fixture/nested-selectors/output.turbo.dev.tsx +35 -0
  460. package/yak_swc/tests/fixture/nested-selectors/output.turbo.prod.tsx +33 -0
  461. package/yak_swc/tests/fixture/no-yak/input.tsx +7 -0
  462. package/yak_swc/tests/fixture/no-yak/output.dev.tsx +6 -0
  463. package/yak_swc/tests/fixture/no-yak/output.prod.tsx +6 -0
  464. package/yak_swc/tests/fixture/no-yak/output.turbo.dev.tsx +6 -0
  465. package/yak_swc/tests/fixture/no-yak/output.turbo.prod.tsx +6 -0
  466. package/yak_swc/tests/fixture/no-yak-usage/input.tsx +5 -0
  467. package/yak_swc/tests/fixture/no-yak-usage/output.dev.tsx +3 -0
  468. package/yak_swc/tests/fixture/no-yak-usage/output.prod.tsx +3 -0
  469. package/yak_swc/tests/fixture/no-yak-usage/output.turbo.dev.tsx +3 -0
  470. package/yak_swc/tests/fixture/no-yak-usage/output.turbo.prod.tsx +3 -0
  471. package/yak_swc/tests/fixture/object-literal-variable-names/input.tsx +10 -0
  472. package/yak_swc/tests/fixture/object-literal-variable-names/output.dev.tsx +27 -0
  473. package/yak_swc/tests/fixture/object-literal-variable-names/output.prod.tsx +23 -0
  474. package/yak_swc/tests/fixture/object-literal-variable-names/output.turbo.dev.tsx +27 -0
  475. package/yak_swc/tests/fixture/object-literal-variable-names/output.turbo.prod.tsx +23 -0
  476. package/yak_swc/tests/fixture/parens/input.tsx +10 -0
  477. package/yak_swc/tests/fixture/parens/output.dev.tsx +22 -0
  478. package/yak_swc/tests/fixture/parens/output.prod.tsx +20 -0
  479. package/yak_swc/tests/fixture/parens/output.turbo.dev.tsx +22 -0
  480. package/yak_swc/tests/fixture/parens/output.turbo.prod.tsx +20 -0
  481. package/yak_swc/tests/fixture/props-and-dynamic-styles/input.tsx +13 -0
  482. package/yak_swc/tests/fixture/props-and-dynamic-styles/output.dev.tsx +32 -0
  483. package/yak_swc/tests/fixture/props-and-dynamic-styles/output.prod.tsx +30 -0
  484. package/yak_swc/tests/fixture/props-and-dynamic-styles/output.turbo.dev.tsx +32 -0
  485. package/yak_swc/tests/fixture/props-and-dynamic-styles/output.turbo.prod.tsx +30 -0
  486. package/yak_swc/tests/fixture/solid-folding/config.json +3 -0
  487. package/yak_swc/tests/fixture/solid-folding/input.tsx +75 -0
  488. package/yak_swc/tests/fixture/solid-folding/output.dev.tsx +80 -0
  489. package/yak_swc/tests/fixture/solid-folding/output.prod.tsx +70 -0
  490. package/yak_swc/tests/fixture/solid-folding/output.turbo.dev.tsx +80 -0
  491. package/yak_swc/tests/fixture/solid-folding/output.turbo.prod.tsx +70 -0
  492. package/yak_swc/tests/fixture/solid-import-source/input.tsx +21 -0
  493. package/yak_swc/tests/fixture/solid-import-source/output.dev.tsx +34 -0
  494. package/yak_swc/tests/fixture/solid-import-source/output.prod.tsx +30 -0
  495. package/yak_swc/tests/fixture/solid-import-source/output.turbo.dev.tsx +34 -0
  496. package/yak_swc/tests/fixture/solid-import-source/output.turbo.prod.tsx +30 -0
  497. package/yak_swc/tests/fixture/styled-componets/input.tsx +15 -0
  498. package/yak_swc/tests/fixture/styled-componets/output.dev.tsx +18 -0
  499. package/yak_swc/tests/fixture/styled-componets/output.prod.tsx +16 -0
  500. package/yak_swc/tests/fixture/styled-componets/output.turbo.dev.tsx +18 -0
  501. package/yak_swc/tests/fixture/styled-componets/output.turbo.prod.tsx +16 -0
  502. package/yak_swc/tests/fixture/styled-jsx-dynamic-folding/config.json +3 -0
  503. package/yak_swc/tests/fixture/styled-jsx-dynamic-folding/input.tsx +318 -0
  504. package/yak_swc/tests/fixture/styled-jsx-dynamic-folding/output.dev.tsx +426 -0
  505. package/yak_swc/tests/fixture/styled-jsx-dynamic-folding/output.prod.tsx +372 -0
  506. package/yak_swc/tests/fixture/styled-jsx-dynamic-folding/output.turbo.dev.tsx +426 -0
  507. package/yak_swc/tests/fixture/styled-jsx-dynamic-folding/output.turbo.prod.tsx +372 -0
  508. package/yak_swc/tests/fixture/styled-jsx-folding/config.json +3 -0
  509. package/yak_swc/tests/fixture/styled-jsx-folding/input.tsx +212 -0
  510. package/yak_swc/tests/fixture/styled-jsx-folding/output.dev.tsx +294 -0
  511. package/yak_swc/tests/fixture/styled-jsx-folding/output.prod.tsx +240 -0
  512. package/yak_swc/tests/fixture/styled-jsx-folding/output.turbo.dev.tsx +294 -0
  513. package/yak_swc/tests/fixture/styled-jsx-folding/output.turbo.prod.tsx +240 -0
  514. package/yak_swc/tests/fixture/styled-jsx-folding-string-attrs/config.json +3 -0
  515. package/yak_swc/tests/fixture/styled-jsx-folding-string-attrs/input.tsx +42 -0
  516. package/yak_swc/tests/fixture/styled-jsx-folding-string-attrs/output.dev.tsx +49 -0
  517. package/yak_swc/tests/fixture/styled-jsx-folding-string-attrs/output.prod.tsx +41 -0
  518. package/yak_swc/tests/fixture/styled-jsx-folding-string-attrs/output.turbo.dev.tsx +49 -0
  519. package/yak_swc/tests/fixture/styled-jsx-folding-string-attrs/output.turbo.prod.tsx +41 -0
  520. package/yak_swc/tests/fixture/styled-jsx-folding-tricky/config.json +3 -0
  521. package/yak_swc/tests/fixture/styled-jsx-folding-tricky/input.tsx +126 -0
  522. package/yak_swc/tests/fixture/styled-jsx-folding-tricky/output.dev.tsx +135 -0
  523. package/yak_swc/tests/fixture/styled-jsx-folding-tricky/output.prod.tsx +121 -0
  524. package/yak_swc/tests/fixture/styled-jsx-folding-tricky/output.turbo.dev.tsx +135 -0
  525. package/yak_swc/tests/fixture/styled-jsx-folding-tricky/output.turbo.prod.tsx +121 -0
  526. package/yak_swc/tests/fixture/theming-with-context/input.tsx +9 -0
  527. package/yak_swc/tests/fixture/theming-with-context/output.dev.tsx +19 -0
  528. package/yak_swc/tests/fixture/theming-with-context/output.prod.tsx +17 -0
  529. package/yak_swc/tests/fixture/theming-with-context/output.turbo.dev.tsx +19 -0
  530. package/yak_swc/tests/fixture/theming-with-context/output.turbo.prod.tsx +17 -0
  531. package/yak_swc/tests/fixture/transform-only-known-elements/input.tsx +13 -0
  532. package/yak_swc/tests/fixture/transform-only-known-elements/output.dev.tsx +24 -0
  533. package/yak_swc/tests/fixture/transform-only-known-elements/output.prod.tsx +18 -0
  534. package/yak_swc/tests/fixture/transform-only-known-elements/output.tsx +12 -0
  535. package/yak_swc/tests/fixture/transform-only-known-elements/output.turbo.dev.tsx +24 -0
  536. package/yak_swc/tests/fixture/transform-only-known-elements/output.turbo.prod.tsx +18 -0
  537. package/yak_swc/tests/fixture/two-styled-components/input.tsx +17 -0
  538. package/yak_swc/tests/fixture/two-styled-components/output.dev.tsx +31 -0
  539. package/yak_swc/tests/fixture/two-styled-components/output.prod.tsx +23 -0
  540. package/yak_swc/tests/fixture/two-styled-components/output.turbo.dev.tsx +31 -0
  541. package/yak_swc/tests/fixture/two-styled-components/output.turbo.prod.tsx +23 -0
  542. package/yak_swc/tests/fixture/typecast-in-static-analysis/input.tsx +32 -0
  543. package/yak_swc/tests/fixture/typecast-in-static-analysis/output.dev.tsx +54 -0
  544. package/yak_swc/tests/fixture/typecast-in-static-analysis/output.prod.tsx +44 -0
  545. package/yak_swc/tests/fixture/typecast-in-static-analysis/output.turbo.dev.tsx +54 -0
  546. package/yak_swc/tests/fixture/typecast-in-static-analysis/output.turbo.prod.tsx +44 -0
  547. package/yak_swc/tests/fixture/typecast-styled-component/input.tsx +38 -0
  548. package/yak_swc/tests/fixture/typecast-styled-component/output.dev.tsx +51 -0
  549. package/yak_swc/tests/fixture/typecast-styled-component/output.prod.tsx +45 -0
  550. package/yak_swc/tests/fixture/typecast-styled-component/output.turbo.dev.tsx +51 -0
  551. package/yak_swc/tests/fixture/typecast-styled-component/output.turbo.prod.tsx +45 -0
package/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ /target
2
+ ^target/
3
+ target
package/CHANGELOG.md ADDED
@@ -0,0 +1,345 @@
1
+ # yak-swc
2
+
3
+ ## 9.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 71b8d7b: Update dependencies and publish the direct dependencies with semver ranges instead of exact pins
8
+
9
+ ### Patch Changes
10
+
11
+ - 5c80c54: Fix an issue where a css prop combined with a spread didn't hydrate on SolidJS.
12
+
13
+ ## 9.9.0
14
+
15
+ ### Minor Changes
16
+
17
+ - d7be766: Add support for `SolidJS` together with the new `@yak/solid` package
18
+
19
+ ### Patch Changes
20
+
21
+ - 63847f8: Reject `css` prop values which can not apply styles (e.g. `css={[a, b]}` or `css={{ color: "red" }}`)
22
+ - 1a5a828: Folding a static styled component into a plain element now removes all `$`-prefixed props
23
+
24
+ ## 9.8.0
25
+
26
+ ### Minor Changes
27
+
28
+ - 9efbae5: Interpolations of the same function in one styled component now share a single CSS variable, so the function runs once per render and the element carries fewer inline style entries.
29
+
30
+ ### Patch Changes
31
+
32
+ - 1060025: CSS variables of styled components declared in object literals now carry the full path in development, e.g. `--buttons_primary__color` instead of `--buttons__color-01`.
33
+
34
+ ## 9.7.0
35
+
36
+ ### Minor Changes
37
+
38
+ - eebca6f: Fold statically known css props into a plain `className` at build time instead of emitting a per-render `__yak_mergeCssProp` call, e.g. `<div css={css`color: red`} />` becomes `<div className="yX" />` and conditional styles become `className={"yX" + (on ? " yX1" : "")}`. Elements with an existing `className`, spread props or dynamic values keep the runtime merge path unchanged, as does every css prop when `foldStatic: false`; a css prop that references a mixin is a compile error.
39
+ - eebca6f: The css prop now rejects a reference to styles declared elsewhere (`css={mixin}`) with a compile error. Wrap the reference in a css template instead: `css={css`${mixin}`}`. Such a reference compiles to nothing at the usage, so it silently rendered unstyled.
40
+ - 67b8875: Add JSX folding: a usage of a styled component declared in the same file compiles to a plain element, skipping the runtime wrapper. Rendering gets considerably faster, and nothing needs configuring.
41
+
42
+ ```tsx
43
+ const Icon = styled.span<{ $active?: boolean }>`
44
+ min-height: 24px;
45
+ ${({ $active }) =>
46
+ $active &&
47
+ css`
48
+ color: red;
49
+ `}
50
+ `;
51
+ const App = () => <Icon $active={on} />;
52
+
53
+ // compiles to
54
+ const App = () => <span className={"yak-icon" + (on ? " yak-icon--active" : "")} />;
55
+ ```
56
+
57
+ What folds:
58
+
59
+ - A fully static component folds to its plain element.
60
+ - `styled(Component)` folds to the wrapped component, which may be imported.
61
+ - A fully static `styled(Parent)` chain collapses to the base element, at any depth, with the class names merged parent-first. The declaration flattens too, so an exported chain ships one wrapper and its unused base components drop out.
62
+
63
+ What keeps the runtime path: spread props, a `theme` prop, dynamic css values, `.attrs()`, and components not declared as a top-level `const`. A chain also stays a chain when its parent is dynamic, imported, or bound with `let`.
64
+
65
+ Set `foldStatic: false` to turn folding off; it also gates the css prop fold.
66
+
67
+ Caveats: a folded usage is no longer a component, so it does not appear in React DevTools or component stacks, and `child.type === Icon` no longer matches it. Foreign `$props` on a folded usage are forwarded to the element, not stripped. Prop expressions still run the same number of times, in the same order, as the original JSX — except in code React's purity rule already forbids: an unread `$prop` is dropped without running, and a getter behind a member read (`$a={obj.x}`) can fire once per condition. The FAQ has the full rules.
68
+
69
+ ### Patch Changes
70
+
71
+ - 011ace5: A `className` string next to a `css` prop kept its JSX encoding: `className="Food &amp; Drink"` rendered the entity into the DOM class, and a backslash class like `before:content-['\2713']` broke the build with a SyntaxError. The value now reaches the DOM exactly as written.
72
+ - eebca6f: Drop empty css props at build time instead of emitting a dead class name, e.g. `<div css={css``} />` becomes `<div />` and an empty ternary arm folds to `""`. A nested empty ` css` `` also folds to an empty class name instead of keeping the whole css prop on the runtime merge path.
73
+ - 06a6c95: A folded `className` merge keeps the user's class name exactly as written: backslashes, HTML entities and emoji reach the DOM byte for byte.
74
+
75
+ ## 9.6.0
76
+
77
+ ### Minor Changes
78
+
79
+ - 00e5021: Add `globalStyle` to write global styles that are extracted at build time and apply once the file is imported
80
+
81
+ ## 9.5.1
82
+
83
+ ### Patch Changes
84
+
85
+ - 056b4d9: Fix a stray `/*#__PURE__*/` on inlined `css` mixins that could make a bundler tree-shake away an entire export under the wasm plugin
86
+ - 056b4d9: Emit the default-export marker for styled components exported through a TS cast (e.g. `export default Page as typeof Page`) so cross-file default imports resolve correctly
87
+ - 280f4c9: Add a `strictCssProp` option (default `true`) that fails the build on a `css` prop next-yak can't handle. Turn it off to leave unrecognized `css` props untouched, e.g. when another library on the same element uses its own `css` prop. Invalid `css` props are now left in place rather than silently stripped.
88
+
89
+ ## 9.5.0
90
+
91
+ ### Minor Changes
92
+
93
+ - c9bd2de: Update dependencies
94
+
95
+ ### Patch Changes
96
+
97
+ - 5d40a77: Fix building the SWC plugin on Rust 1.96+ and upgrade swc_core from 56.0.0 to 68.0.6.
98
+
99
+ Rust 1.96 removed the implicit `--allow-undefined` for wasm targets, which broke linking the plugin (`undefined symbol: __set_transform_result`). The wasm build now passes the link-arg explicitly, the Rust toolchain is pinned via `rust-toolchain.toml`, and swc_core (plus the separately pinned swc crates) moved to the current major. No behavior changes — all transform snapshots are unchanged.
100
+
101
+ ## 9.4.2
102
+
103
+ ### Patch Changes
104
+
105
+ - df860c9: Fix dynamic interpolations wrapped in CSS string quotes (e.g. `content: "${(p) => p.$x}"`)
106
+ - 07d80d0: Fix typecasts (`as unknown as ...`) breaking cross-file selectors, mixin inlining and keyframes references.
107
+ - f18484e: TypeScript casts (`as`, `as const`, `!`, `satisfies`, parens) inside CSS interpolations no longer prevent values from being statically inlined.
108
+ - 75beb6b: Emit an error when a dynamic interpolation is used inside an at-rule query.
109
+ - 842c24c: Fix HMR full page reloads for styled-only files by injecting `$RefreshReg$` for exported styled components
110
+
111
+ ## 9.4.1
112
+
113
+ ## 9.4.0
114
+
115
+ ### Patch Changes
116
+
117
+ - caac236: Fix false "Could not parse member expression" error for dynamic computed member access in runtime expressions (e.g. `SIZES[size].width`)
118
+ - f7198df: Skip empty CSS imports
119
+ - e77edd3: Fix referencing components without any styles
120
+
121
+ ## 9.3.0
122
+
123
+ ## 9.2.0
124
+
125
+ ### Patch Changes
126
+
127
+ - bc1f82e: Updated dependencies
128
+
129
+ ## 9.1.0
130
+
131
+ ### Minor Changes
132
+
133
+ - ddb0e93: Add deprecation warning for `:global()` selectors
134
+
135
+ ### Patch Changes
136
+
137
+ - 3e4fc3b: Add experimental vite support
138
+ - 846cc4c: Unified CSS import configuration with placeholder support
139
+
140
+ ## 9.0.0
141
+
142
+ ### Major Changes
143
+
144
+ - a85dcba: Add support for next.js 16.1.0
145
+
146
+ ## 8.0.2
147
+
148
+ ## 8.0.1
149
+
150
+ ## 8.0.0
151
+
152
+ ### Major Changes
153
+
154
+ - 24caa1f: Add limited Turbopack support (Limitation: .yak files can't use `import` statements)
155
+ - 6f84e74: Update to Next.js 16
156
+
157
+ ### Minor Changes
158
+
159
+ - 2e43185: Add support for async RSC Yak Theme Contexts (yak.context.ts)
160
+
161
+ ### Patch Changes
162
+
163
+ - cea6d53: Allow exporting Yak components as default expressions
164
+
165
+ ## 7.0.0
166
+
167
+ ### Major Changes
168
+
169
+ - e4d230c: Add support for next.js >= 15.4.4
170
+
171
+ ## 6.0.0
172
+
173
+ ### Major Changes
174
+
175
+ - 9835170: Update swc_core to be compatible with Next.js 15.4
176
+
177
+ ## 5.7.2
178
+
179
+ ### Patch Changes
180
+
181
+ - 460a5da: Fixed an issue when only `atoms` are used
182
+
183
+ ## 5.7.1
184
+
185
+ ## 5.7.0
186
+
187
+ ### Minor Changes
188
+
189
+ - eeaae8f: Added support for atoms in CSS prop & enhanced atoms function to manipulate class names and styles in a callback
190
+
191
+ ### Patch Changes
192
+
193
+ - 938bca4: Improve typings
194
+ - ab58a54: Added support for constant string and number keys of object in the same file
195
+
196
+ ## 5.6.1
197
+
198
+ ### Patch Changes
199
+
200
+ - cb02484: Add cross file constant supports also for default or namespace imports
201
+
202
+ ## 5.6.0
203
+
204
+ ### Minor Changes
205
+
206
+ - 6c859e5: Add new "experiments.transpilationMode" option to transpile to CSS instead of CSS Modules
207
+ - a8fce5a: Make swc plugin integration an enabled-by-default cargo feature (not used in playground)
208
+
209
+ ## 5.5.0
210
+
211
+ ### Minor Changes
212
+
213
+ - 6ed6e55: Updated all dependencies
214
+
215
+ ### Patch Changes
216
+
217
+ - 720e426: Add support for turbopacks relative filepaths
218
+
219
+ ## 5.4.0
220
+
221
+ ### Minor Changes
222
+
223
+ - 2ba5777: Add support for `@property` inside `styled` and `css` tags
224
+
225
+ ## 5.3.1
226
+
227
+ ### Patch Changes
228
+
229
+ - 4c9d3c3: Fix animation references by using "global()" instead of ":global()"
230
+
231
+ ## 5.3.0
232
+
233
+ ### Minor Changes
234
+
235
+ - 3fde4f1: use a turbopack compatible swc plugin path
236
+
237
+ ### Patch Changes
238
+
239
+ - 14f2db8: Fix keyframe animation references when used before declaration
240
+
241
+ ## 5.2.2
242
+
243
+ ### Patch Changes
244
+
245
+ - cd964ac: fix cross file selectors
246
+ - 364f415: fix recursive class name replacement inside mixins
247
+
248
+ ## 5.2.1
249
+
250
+ ### Patch Changes
251
+
252
+ - 4f69bd9: fix class name escaping in dev mode
253
+
254
+ ## 5.2.0
255
+
256
+ ### Minor Changes
257
+
258
+ - d018370: minify class names for production builds
259
+
260
+ ## 5.1.0
261
+
262
+ ### Minor Changes
263
+
264
+ - e2afeb9: Improved React DevTools support - Styled components created with next-yak now show up with their actual variable names in React DevTools instead of a generic yak label
265
+
266
+ ### Patch Changes
267
+
268
+ - d461cf5: Mark `__yak_unitPostFix` as pure (generated code)
269
+ - b3e4fec: Minor refactoring of visitors
270
+
271
+ ## 5.0.0
272
+
273
+ ### Major Changes
274
+
275
+ - 6fd9b9a: **swc:** Update to swc_core 16.0.0 (compatible with @swc/core@1.11.1)
276
+
277
+ ## 4.1.0
278
+
279
+ ### Minor Changes
280
+
281
+ - 0eac2b4: improve bundle size by compiling styled.TAG_NAME
282
+
283
+ ### Patch Changes
284
+
285
+ - ea744ac: Update wasm target to wasm-wasip1
286
+
287
+ ## 4.0.4
288
+
289
+ ### Patch Changes
290
+
291
+ - 171898f: Fix issue with the css prop where it wouldn't be generated when used inside an exported component
292
+ - d4379a2: Updated all dependencies
293
+
294
+ ## 4.0.3
295
+
296
+ ### Patch Changes
297
+
298
+ - 154da2f: fix css prop class name access in nested jsx
299
+
300
+ ## 4.0.2
301
+
302
+ ### Patch Changes
303
+
304
+ - 5ce7f16: Enable css prop support for styled components, not just native HTML elements by fixing a bug in the types
305
+ - 2f0ba89: Enable conditional styling for the css prop
306
+
307
+ ## 4.0.1
308
+
309
+ ### Patch Changes
310
+
311
+ - 859db1c: Improve cross-os hashes to be more consistent.
312
+
313
+ ## 4.0.0
314
+
315
+ ### Major Changes
316
+
317
+ - f204637: Add support for Next.js 15.0.4 (SWC 5.x)
318
+
319
+ ## 3.1.0
320
+
321
+ ### Minor Changes
322
+
323
+ - fcba925: allow to define a prefix for generated css names like variables
324
+
325
+ ### Patch Changes
326
+
327
+ - 3d6e505: fix a parsing bug for unquoted urls inside url()
328
+
329
+ ## 3.0.1
330
+
331
+ ### Patch Changes
332
+
333
+ - 411ad36: Better error message for wrong usage of dynamic properties in nested template
334
+
335
+ ## 3.0.0
336
+
337
+ ### Major Changes
338
+
339
+ - 94f083f: Upgrade SWC to 3.x to add support for Next.js 15.0.0
340
+
341
+ ## 0.8.0
342
+
343
+ ### Minor Changes
344
+
345
+ - 7a080ab: Improved CSS class name generation using FNV-1a hashing for better cross-platform consistency and shorter identifiers