yak-swc 9.9.0 → 9.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. package/.gitignore +3 -0
  2. package/CHANGELOG.md +347 -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,347 @@
1
+ # yak-swc
2
+
3
+ ## 9.10.1
4
+
5
+ ## 9.10.0
6
+
7
+ ### Minor Changes
8
+
9
+ - 71b8d7b: Update dependencies and publish the direct dependencies with semver ranges instead of exact pins
10
+
11
+ ### Patch Changes
12
+
13
+ - 5c80c54: Fix an issue where a css prop combined with a spread didn't hydrate on SolidJS.
14
+
15
+ ## 9.9.0
16
+
17
+ ### Minor Changes
18
+
19
+ - d7be766: Add support for `SolidJS` together with the new `@yak/solid` package
20
+
21
+ ### Patch Changes
22
+
23
+ - 63847f8: Reject `css` prop values which can not apply styles (e.g. `css={[a, b]}` or `css={{ color: "red" }}`)
24
+ - 1a5a828: Folding a static styled component into a plain element now removes all `$`-prefixed props
25
+
26
+ ## 9.8.0
27
+
28
+ ### Minor Changes
29
+
30
+ - 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.
31
+
32
+ ### Patch Changes
33
+
34
+ - 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`.
35
+
36
+ ## 9.7.0
37
+
38
+ ### Minor Changes
39
+
40
+ - 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.
41
+ - 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.
42
+ - 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.
43
+
44
+ ```tsx
45
+ const Icon = styled.span<{ $active?: boolean }>`
46
+ min-height: 24px;
47
+ ${({ $active }) =>
48
+ $active &&
49
+ css`
50
+ color: red;
51
+ `}
52
+ `;
53
+ const App = () => <Icon $active={on} />;
54
+
55
+ // compiles to
56
+ const App = () => <span className={"yak-icon" + (on ? " yak-icon--active" : "")} />;
57
+ ```
58
+
59
+ What folds:
60
+
61
+ - A fully static component folds to its plain element.
62
+ - `styled(Component)` folds to the wrapped component, which may be imported.
63
+ - 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.
64
+
65
+ 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`.
66
+
67
+ Set `foldStatic: false` to turn folding off; it also gates the css prop fold.
68
+
69
+ 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.
70
+
71
+ ### Patch Changes
72
+
73
+ - 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.
74
+ - 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.
75
+ - 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.
76
+
77
+ ## 9.6.0
78
+
79
+ ### Minor Changes
80
+
81
+ - 00e5021: Add `globalStyle` to write global styles that are extracted at build time and apply once the file is imported
82
+
83
+ ## 9.5.1
84
+
85
+ ### Patch Changes
86
+
87
+ - 056b4d9: Fix a stray `/*#__PURE__*/` on inlined `css` mixins that could make a bundler tree-shake away an entire export under the wasm plugin
88
+ - 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
89
+ - 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.
90
+
91
+ ## 9.5.0
92
+
93
+ ### Minor Changes
94
+
95
+ - c9bd2de: Update dependencies
96
+
97
+ ### Patch Changes
98
+
99
+ - 5d40a77: Fix building the SWC plugin on Rust 1.96+ and upgrade swc_core from 56.0.0 to 68.0.6.
100
+
101
+ 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.
102
+
103
+ ## 9.4.2
104
+
105
+ ### Patch Changes
106
+
107
+ - df860c9: Fix dynamic interpolations wrapped in CSS string quotes (e.g. `content: "${(p) => p.$x}"`)
108
+ - 07d80d0: Fix typecasts (`as unknown as ...`) breaking cross-file selectors, mixin inlining and keyframes references.
109
+ - f18484e: TypeScript casts (`as`, `as const`, `!`, `satisfies`, parens) inside CSS interpolations no longer prevent values from being statically inlined.
110
+ - 75beb6b: Emit an error when a dynamic interpolation is used inside an at-rule query.
111
+ - 842c24c: Fix HMR full page reloads for styled-only files by injecting `$RefreshReg$` for exported styled components
112
+
113
+ ## 9.4.1
114
+
115
+ ## 9.4.0
116
+
117
+ ### Patch Changes
118
+
119
+ - caac236: Fix false "Could not parse member expression" error for dynamic computed member access in runtime expressions (e.g. `SIZES[size].width`)
120
+ - f7198df: Skip empty CSS imports
121
+ - e77edd3: Fix referencing components without any styles
122
+
123
+ ## 9.3.0
124
+
125
+ ## 9.2.0
126
+
127
+ ### Patch Changes
128
+
129
+ - bc1f82e: Updated dependencies
130
+
131
+ ## 9.1.0
132
+
133
+ ### Minor Changes
134
+
135
+ - ddb0e93: Add deprecation warning for `:global()` selectors
136
+
137
+ ### Patch Changes
138
+
139
+ - 3e4fc3b: Add experimental vite support
140
+ - 846cc4c: Unified CSS import configuration with placeholder support
141
+
142
+ ## 9.0.0
143
+
144
+ ### Major Changes
145
+
146
+ - a85dcba: Add support for next.js 16.1.0
147
+
148
+ ## 8.0.2
149
+
150
+ ## 8.0.1
151
+
152
+ ## 8.0.0
153
+
154
+ ### Major Changes
155
+
156
+ - 24caa1f: Add limited Turbopack support (Limitation: .yak files can't use `import` statements)
157
+ - 6f84e74: Update to Next.js 16
158
+
159
+ ### Minor Changes
160
+
161
+ - 2e43185: Add support for async RSC Yak Theme Contexts (yak.context.ts)
162
+
163
+ ### Patch Changes
164
+
165
+ - cea6d53: Allow exporting Yak components as default expressions
166
+
167
+ ## 7.0.0
168
+
169
+ ### Major Changes
170
+
171
+ - e4d230c: Add support for next.js >= 15.4.4
172
+
173
+ ## 6.0.0
174
+
175
+ ### Major Changes
176
+
177
+ - 9835170: Update swc_core to be compatible with Next.js 15.4
178
+
179
+ ## 5.7.2
180
+
181
+ ### Patch Changes
182
+
183
+ - 460a5da: Fixed an issue when only `atoms` are used
184
+
185
+ ## 5.7.1
186
+
187
+ ## 5.7.0
188
+
189
+ ### Minor Changes
190
+
191
+ - eeaae8f: Added support for atoms in CSS prop & enhanced atoms function to manipulate class names and styles in a callback
192
+
193
+ ### Patch Changes
194
+
195
+ - 938bca4: Improve typings
196
+ - ab58a54: Added support for constant string and number keys of object in the same file
197
+
198
+ ## 5.6.1
199
+
200
+ ### Patch Changes
201
+
202
+ - cb02484: Add cross file constant supports also for default or namespace imports
203
+
204
+ ## 5.6.0
205
+
206
+ ### Minor Changes
207
+
208
+ - 6c859e5: Add new "experiments.transpilationMode" option to transpile to CSS instead of CSS Modules
209
+ - a8fce5a: Make swc plugin integration an enabled-by-default cargo feature (not used in playground)
210
+
211
+ ## 5.5.0
212
+
213
+ ### Minor Changes
214
+
215
+ - 6ed6e55: Updated all dependencies
216
+
217
+ ### Patch Changes
218
+
219
+ - 720e426: Add support for turbopacks relative filepaths
220
+
221
+ ## 5.4.0
222
+
223
+ ### Minor Changes
224
+
225
+ - 2ba5777: Add support for `@property` inside `styled` and `css` tags
226
+
227
+ ## 5.3.1
228
+
229
+ ### Patch Changes
230
+
231
+ - 4c9d3c3: Fix animation references by using "global()" instead of ":global()"
232
+
233
+ ## 5.3.0
234
+
235
+ ### Minor Changes
236
+
237
+ - 3fde4f1: use a turbopack compatible swc plugin path
238
+
239
+ ### Patch Changes
240
+
241
+ - 14f2db8: Fix keyframe animation references when used before declaration
242
+
243
+ ## 5.2.2
244
+
245
+ ### Patch Changes
246
+
247
+ - cd964ac: fix cross file selectors
248
+ - 364f415: fix recursive class name replacement inside mixins
249
+
250
+ ## 5.2.1
251
+
252
+ ### Patch Changes
253
+
254
+ - 4f69bd9: fix class name escaping in dev mode
255
+
256
+ ## 5.2.0
257
+
258
+ ### Minor Changes
259
+
260
+ - d018370: minify class names for production builds
261
+
262
+ ## 5.1.0
263
+
264
+ ### Minor Changes
265
+
266
+ - 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
267
+
268
+ ### Patch Changes
269
+
270
+ - d461cf5: Mark `__yak_unitPostFix` as pure (generated code)
271
+ - b3e4fec: Minor refactoring of visitors
272
+
273
+ ## 5.0.0
274
+
275
+ ### Major Changes
276
+
277
+ - 6fd9b9a: **swc:** Update to swc_core 16.0.0 (compatible with @swc/core@1.11.1)
278
+
279
+ ## 4.1.0
280
+
281
+ ### Minor Changes
282
+
283
+ - 0eac2b4: improve bundle size by compiling styled.TAG_NAME
284
+
285
+ ### Patch Changes
286
+
287
+ - ea744ac: Update wasm target to wasm-wasip1
288
+
289
+ ## 4.0.4
290
+
291
+ ### Patch Changes
292
+
293
+ - 171898f: Fix issue with the css prop where it wouldn't be generated when used inside an exported component
294
+ - d4379a2: Updated all dependencies
295
+
296
+ ## 4.0.3
297
+
298
+ ### Patch Changes
299
+
300
+ - 154da2f: fix css prop class name access in nested jsx
301
+
302
+ ## 4.0.2
303
+
304
+ ### Patch Changes
305
+
306
+ - 5ce7f16: Enable css prop support for styled components, not just native HTML elements by fixing a bug in the types
307
+ - 2f0ba89: Enable conditional styling for the css prop
308
+
309
+ ## 4.0.1
310
+
311
+ ### Patch Changes
312
+
313
+ - 859db1c: Improve cross-os hashes to be more consistent.
314
+
315
+ ## 4.0.0
316
+
317
+ ### Major Changes
318
+
319
+ - f204637: Add support for Next.js 15.0.4 (SWC 5.x)
320
+
321
+ ## 3.1.0
322
+
323
+ ### Minor Changes
324
+
325
+ - fcba925: allow to define a prefix for generated css names like variables
326
+
327
+ ### Patch Changes
328
+
329
+ - 3d6e505: fix a parsing bug for unquoted urls inside url()
330
+
331
+ ## 3.0.1
332
+
333
+ ### Patch Changes
334
+
335
+ - 411ad36: Better error message for wrong usage of dynamic properties in nested template
336
+
337
+ ## 3.0.0
338
+
339
+ ### Major Changes
340
+
341
+ - 94f083f: Upgrade SWC to 3.x to add support for Next.js 15.0.0
342
+
343
+ ## 0.8.0
344
+
345
+ ### Minor Changes
346
+
347
+ - 7a080ab: Improved CSS class name generation using FNV-1a hashing for better cross-platform consistency and shorter identifiers